Mass Update vendor e-mails
received a request to update some emails addresses for vendors. If a vendor had no email a default address was granted (ex. [email protected]) . This default email address, in use on 2300 vendors, now changes (ex; [email protected] ).
Im looking now for a method to change these addresses in ADR6. To change the standard (primary) address I use a transaction recording XK02 in LSMW. However I dont find a method to update the other (secondary) addresses.
hi, see this program u will get one idea how to send mail through program...............................
report ZMAILTEST.
parameters: p_email type somlreci1-receiver
default '[email protected]'.
data: begin of it001 occurs 0,
bukrs type t001-bukrs,
butxt type t001-butxt,
end of it001.
data: imessage type standard table of solisti1 with header line,
iattach type standard table of solisti1 with header line,
ipacking_list like sopcklsti1 occurs 0 with header line,
ireceivers like somlreci1 occurs 0 with header line,
iattachment like solisti1 occurs 0 with header line.
start-of-selection.
select bukrs butxt into table it001 from t001.
Populate table with detaisl to be entered into .xls file
perform build_xls_data .
Populate message body text
clear imessage. refresh imessage.
imessage = 'Please find attached excel file'.
append imessage.
Send file by email as .xls speadsheet
perform send_email_with_xls tables imessage
iattach
using p_email
'Example Excel Attachment'
'XLS'
'TestFileName'
'CompanyCodes'.
Form BUILD_XLS_DATA
form build_xls_data .
constants: con_cret type x value '0D', "OK for non Unicode
con_tab type x value '09'. "OK for non Unicode
*If you have Unicode check active in program attributes thnen you will
*need to declare constants as follows
*class cl_abap_char_utilities definition load.
*constants:
con_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB,
con_cret type c value cl_abap_char_utilities=>CR_LF.
concatenate 'BUKRS' 'BUTXT'
into iattach separated by con_tab.
concatenate con_cret iattach into iattach.
append iattach.
loop at it001.
concatenate it001-bukrs it001-butxt
into iattach separated by con_tab.
concatenate con_cret iattach into iattach.
append iattach.
endloop.
endform.
Form SEND_EMAIL_WITH_XLS
form send_email_with_xls tables pit_message
pit_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription.
data: xdocdata like sodocchgi1,
xcnt type i.
Fill the document data.
xdocdata-doc_size = 1.
Populate the subject/generic message attributes
xdocdata-obj_langu = sy-langu.
xdocdata-obj_name = 'SAPRPT'.
xdocdata-obj_descr = p_mtitle .
Fill the document data and get size of attachment
clear xdocdata.
read table iattach index xcnt.
xdocdata-doc_size =
( xcnt - 1 ) * 255 + strlen( iattach ).
xdocdata-obj_langu = sy-langu.
xdocdata-obj_name = 'SAPRPT'.
xdocdata-obj_descr = p_mtitle.
clear iattachment. refresh iattachment.
iattachment[] = pit_attach[].
Describe the body of the message
clear ipacking_list. refresh ipacking_list.
ipacking_list-transf_bin = space.
ipacking_list-head_start = 1.
ipacking_list-head_num = 0.
ipacking_list-body_start = 1.
describe table imessage lines ipacking_list-body_num.
ipacking_list-doc_type = 'RAW'.
append ipacking_list.
Create attachment notification
ipacking_list-transf_bin = 'X'.
ipacking_list-head_start = 1.
ipacking_list-head_num = 1.
ipacking_list-body_start = 1.
describe table iattachment lines ipacking_list-body_num.
ipacking_list-doc_type = p_format.
ipacking_list-obj_descr = p_attdescription.
ipacking_list-obj_name = p_filename.
ipacking_list-doc_size = ipacking_list-body_num * 255.
append ipacking_list.
Add the recipients email address
clear ireceivers. refresh ireceivers.
ireceivers-receiver = p_email.
ireceivers-rec_type = 'U'.
ireceivers-com_type = 'INT'.
ireceivers-notif_del = 'X'.
ireceivers-notif_ndel = 'X'.
append ireceivers.
call function 'SO_DOCUMENT_SEND_API1'
exporting
document_data = xdocdata
put_in_outbox = 'X'
commit_work = 'X'
tables
packing_list = ipacking_list
contents_bin = iattachment
contents_txt = imessage
receivers = ireceivers
exceptions
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
others = 8.
endform.
Similar Messages
-
Hi,
I want to use LSMW to update lots of vendor E-mail, but when i reocrd the screen, i find the field:E-mail is not found, and some other field like communication method is also not found duing recording of LSMW.
Then i change to use CATT, it is recorded.
Does anybody know why, can i use LSMW to change E-mail address of vendor, how to do that?If u want updated e-mail address in vendor master so u can use mass maintaince in t code MASS & select ur vendor object type.
Thanks & regards
Amar -
LSMW Mass Update Vendor Master
I have a request to use LSMW to read all vendor records and reformat and update the tax code (LFA1-STDC1) field. Does anyone know if this can be done with LSMW? I am not sure how to do it. Or, is it easier to develop an ABAP routine to do the updates? Any help will be rewarded.
For mass updation one can use LSMW Object: 0040 / 0001 / RFBIKR00 / B or else try using FM vendor_update .
null -
Mass update of Vendor Bank Chain assignment details
Hi Experts,
I have a requirement to mass update Vendor Bank Chain assignment details. I tried to use LSMW recording method for transaction FIBPU but it does not seems to be working if we have more than 2 bank keys for a vendor.
Can you please let me know the best way of handling this requirement.
Thanks in advance
Regards
VJHi Jeff,
I need to mass update the bank chain details for vendors. I am trying to use LSMW bath recording for
FIBPU transaction, but the problem is when the vendor has multiple bank keys there is no option to select for each Vendor and bank key combination to record the bank chain assignment details. Just Wondering to see if we have any alternative way to mass update Vendor Bank chain details.
Steps to replicate the scenario
Step1: Execute transaction :FIBPU, then enter Vendor number and press F8
Step2: You will now see Vendor bank entries (LFBK table ), in this screen I don't have the option to select each vendor and bank key combination to loop in batch recording method when it has multiple entries.
Let me know if you need any more information.
Thanks
Regards
VJ -
Mass update of email in the vendor master record
Hello to you all,
Does anyone know how can I run mass update of email in the vendor master record for a big No. of entities?
XK99 won't help since you can't find the email,
Batch input recording won't help as well since the email can't be found.
I will appreciate your help,
AmirHello Amir,
You can use LSMW for update operation. You should create a batch input recording for transaction FK02. But you must tick "Use central address management" checkbox on FK02 screen while recording batch input. After that you will see E-mail field on screen.
Regards,
Burak -
Mass update of Third Party Vendor at PO Line item pricing condition
Hi All,
We have requirement from business as follows:
We are using item level condition for Lumper Charge in PO and it is for Third Party Vendor. We maintain vendor in pricing condition record so it will be automatically populated while PO is created. Recently vendor is changed so we have also updated new vendor in pricing condition record so it will be taken care when new POs will be created. But there are thousand open POs in which new vendor needs to be updated.
Is there any way to mass update third party vendor at PO line item level?
Relevant pointers will be rewarded.
Regards,
TtHi,
You may check the following options:
1. If the freight vendor was pulled through condition record, then change the vendor in the condition record and update the pricing in MEI1. Refer the KBA: 1819416 - Condition records not getting updated automatically when using MEI1/MEI4
2. If the condition is manual condition, there is no option to mass change the vendor in standard, as of my knowledge. You may create a custom program to change the vendor in the PO. Refer the similar thread: Mass update of freight vendor in PO condition
Regards,
AKPT -
Mass update of freight vendor in PO condition
Dear All,
I need to do mass update the freight vendor in purchase order (vendor code given in the PO planned delivery condition),Is there any way to achieve this instead of doing it manually I mean selecting PO's one by one?Thanks for your advise in advance!
BR,
SandeepHi Sandeep,
Mass updation of Freight Vendor in Purchase Order is not possible in Standrad. However, you can develop small custom report to update the Freight Vendor against freight condition for Open POs.
Secondly, Maintain Freight condition using condition Record/Access Seq and Specify the Freight Vendor. So that it get automatically picked up for the newly created Purhcase Orders.
Regards,
S Anand -
Hello SRM Folks,
We want to do mass update for vendors (Updating proxy bidding flag in Manage Business Partner) since we have 3000 vendors. It will be highly complex to update it manually. Could any one of you have gone through such experience then please share with us.
Is it possible to use LSMW or eCatt to update proxy bidding flag on vendor master (Transaction BBPMAININT)
Please let me know.
Thanks,
AmitHi. Is the data you want available in transaction BP?
If it is you should be able to use ecatt.
Failing that you could try function BUPA_CENTRAL_CHANGE with ecatt, or a custom program.
You could also try BBPMAININT, but I am not sure if you will be able to call the service trnasaction in the GUI using ecatt.
Regards,
Dave. -
New company name : mass update mail address
Hello,
The company I am working for is going to change its name so I have to update all the mail address. The SQL command todo it is not a problem but I would to like to sure that I have not forgiven any mail address in all the tables. Moreover theses address are sometimes in flexfields.
Do you please know a way to find all the fields or the tables which contain an email address ?
Regards,
LaurentI have found in an other forum the following procedure that may help someones who want to find a string of characters searching in all the columns off all the tables :
CREATE OR REPLACE procedure APPS.search_db (p_search VARCHAR2, p_type VARCHAR2)
* This procedure will search a user's schema (all tables) for columns matching the user's input.
* ####### Please create the following table before you run this procedure:
* create table search_db_results(result varchar2(256));
* This table will contain the result of the procedure run so that you can view intermediate search results while the procedure is running.
* You pass two parameters to this procedure:
* 1) Search string / number / date (REQUIRED)
* 2) Search datatype (REQUIRED)
* Example:
* exec search_db('hello','VARCHAR2') -- will search for rows in all tables that have a VARCHAR2 column with "hello" as the data.
* exec search_db('01-JAN-2008','DATE') -- will search for all rows in all tables that have a DATE column with the data '01-JAN-2008' in it.
* exec search_db(1000,'NUMBER') -- will search for all rows in all tables that have a NUMBER column with the data 1000 in it.
* Allowed data types: VARCHAR2, CHAR, DATE, NUMBER, FLOAT.
* WARNING!!!!! if you have a large schema be advised that the search can take anywhere from minutes to hours!
IS
TYPE tab_name_arr IS VARRAY(10000) of varchar2(256);
v_tab_arr1 tab_name_arr; /* ARRAY TO HOLD ALL TABLES IN THE USER SCHEMA */
v_col_arr1 tab_name_arr; /* ARRAY TO HOLD ALL COLUMNS IN EACH TABLE */
v_amount_of_tables number(10); /* this holds the amount of tables in the current user schema so that the for loop will know how many times to run */
v_amount_of_cols number(10); /* when searching in a table, this holds the amount of columns in that table so that the for loop searching the table will know how many iterations it needs */
v_search_result number(10); /* when searching the table, this holds the amount of results found. We use this is that if the amount of result found is greated than 0 we will print the name of the table and the column */
v_result_string varchar2(254);
BEGIN
v_tab_arr1 := tab_name_arr(); /*INITIALIZE THE ARRAY*/
v_col_arr1 := tab_name_arr(); /*INITIALIZE THE ARRAY*/
v_col_arr1.EXTEND(1000); /* INITIALIZE THE ARRAY to the maximum amount of columns allowed in a table */
/* This will return the amount of tables in the user schema so that we know how many times we need to invoke the for loop */
select count(table_name)
into v_amount_of_tables
from user_tables;
v_tab_arr1.EXTEND(v_amount_of_tables); /*INITIALIZE THE ARRAY to the number of tables found in the user's schema */
FOR i in 1..v_amount_of_tables LOOP /*LOOP until we reach the maximum amount of tables in the user schema */
/* start populating the tables array with table names. The data is read fomr the data dictionary */
select table_name
into v_tab_arr1(i)
from
select rownum a, table_name
from user_tables
order by table_name
where a = i;
END LOOP;
/* now, after we have an array with all the names of the tables in the user's schmea, we'll start going
over each table and get all of its columns so that we can search every column */
FOR i in 1..v_amount_of_tables LOOP
/*select the amount of columns in the table where the data_type matches the data type the user passed as a parameter to the procedure */
select count(*)
into v_amount_of_cols
from user_tab_columns
where table_name = v_tab_arr1(i)
and data_type = p_type;
/* start searching the clumns ONLY IF there is at least one column with the requested data type in the table */
if v_amount_of_cols <> 0 then
/* do the search for every column in the table */
FOR j in 1..v_amount_of_cols LOOP
select column_name
into v_col_arr1(j)
from
select rownum a, column_name
from user_tab_columns
where table_name = v_tab_arr1(i)
and data_type = p_type
where a = j;
/* each type of data_type has its own SQL query used to search. Here we execute different queries based on the user passed parameter of requested data type */
IF p_type in ('CHAR', 'VARCHAR2', 'NCHAR', 'NVARCHAR2') then
execute immediate 'select count(*) from ' || v_tab_arr1(i) || ' where lower(' || v_col_arr1(j) || ') like ' || '''' || '%' || lower(p_search) || '%' || '''' into v_search_result;
end if;
if p_type in ('DATE') then
execute immediate 'select count(*) from ' || v_tab_arr1(i) || ' where ' || v_col_arr1(j) || ' = ' || '''' || p_search || '''' into v_search_result;
end if;
if p_type in ('NUMBER', 'FLOAT') then
execute immediate 'select count(*) from ' || v_tab_arr1(i) || ' where ' || v_col_arr1(j) || ' = ' || p_search into v_search_result;
end if;
/* if there is at least one row in the table which contains data, return the table name and column name */
if v_search_result > 0 then
v_result_string := v_tab_arr1(i) || '.' || v_col_arr1(j);
execute immediate 'insert into search_db_results values (' || '''' || v_result_string || '''' || ')';
commit;
end if;
END LOOP;
end if;
end loop;
END;
Thanks to David Yahalom who wrote this code. -
Mass update of new house bank in the BP record
Our client has switched banks. We went in and added the new bank to the bank table and the house bank table. We then changed the default bank in the Company Details and the Payment Methods. The BP house banks were not changed as a result of this. Although, when we changed the default in the Company Details, it asked if we wanted to update the BP's payment terms and we told it to continue.
Is there to mass update the vendors with this new bank? They have thousands of vendors, and if this isn't changed, the payment wizard does not work properly. It moves all of these transactions to the Non-included area with a message that says the BP House Bank Account does not match the default.
Any suggestions?You may use DTW to update DefaultBankCode for the BP.
Thanks,
Gordon -
USING LSMW TO UPDATE VENDOR BANK DETAILS
Hi SAP gurus
I have used LSMW for mass updates of vendor bank details by recording the Tcode FK02
But the problem is .. after I load the data, its replacing the old bank details with the new one which Im updating with.
I want to keep the old bank details and add the new bank details as another entry.
How do I do that..
How Do I retain the old one and also the add a new entry to the bank details section of the vendor master record.
Is there any other way for mass updating the vendor master records
I have tried using MASS or XK99...but i cant add a whole entry with that transaction. All I can do is updating one of fields (Like Reference Details) in the bank details.
Thank you in advance for all your replies. Points will be awarded as a token of appreciationHi
when you record the transaction for bank details in LSMW in , try to create record in last line. Automatically it will go to top line.
I hope it will solve your problem.
regards
Srinivas -
Gurus.
I would like to mass update prices in consignment info-records for one vendor, i can see that the field price does not appear in tcode : MEMASSIN - Mass Maintenance . Do i have to create a contract to use after MEKRE an then later update the IR through the contract.
Thanks for your answer,
OlivierHi,
Check Note 446608 'MEMASSIN: you cannot select net price EINE-NETPR', it will help you.
Regards,
Eduardo -
Hi,
Can anyone List out some Standard SAP transactions that are doing mass update.
Means Transactions which are updating a range of records in single shot. Instead of doing it one by one.
I need to create a Mass update for Material. What MM02 do for a single material, I need to do for a range of materials.
I know some Transactions like XD99, MM17 and MASS. But I need some more names from you.
Points will be rewarded .
Regards,
Paliwalhi,
check these.
CO44 Mass processing of orders
F.80 Mass Reversal of Documents
FOFO Mass release
FOVX Mass Processing of Offers
IMAM Mass maintenance of approp.requests
KE55 Mass Maintenance PrCtr Master Data
SU10 User Mass Maintenance
XD99 Customer master mass maintenance
XK99 Mass maintenance, vendor master.
<removed by moderator>
Edited by: Mike Pokraka on Aug 4, 2008 11:26 AM -
Hi,
Can anyone List out some Standard SAP transactions that are doing mass update.
Means Transactions which are updating a range of records in single shot. Instead of doing it one by one.
I need to create a Mass update for Material. What MM02 do for a single material, I need to do for a range of materials.
I know some Transactions like XD99, MM17 and MASS. But I need some more names from you.
Points will be rewarded .
Regards,
PaliwalSome transactions from the LE side
MEMASSCONTRACT Mass Changing of Contracts
MEMASSIN Mass-Changing of Purch. Info Records
MEMASSPO Mass Change of Purchase Orders
MEMASSRQ Mass-Changing of Purch. Requisitions
MEMASSSA Mass Changing of Sched. Agreements
MASS_EINE Inforecord Mass Maintenance
MASS_EKKO PO mass maintenance
MASS_MARC Logistic/Replenishment Mass Maint.
MASS_VENDOR Vendor Mass Maintenance
MASSD Mass Maintenance
MASSOBJ Maintain Mass Maintenance Objects -
Mass update contract ECC5.0
HI All,
Can i know how a Invoicing party and Vendor can be mass updated in the contracts in the Partner function screen for existing contracts.I believe MEMASSCONTRACT can be used only in ECC.6.0
We are in ECC5.0.Kindly advice on this.
Thanks in advance
With Regards
Ram
Edited by: sri ram on Oct 11, 2009 8:40 AMYou will need to develop either an LSMW or custom program to update the contact partners in ECC5.
Maybe you are looking for
-
Checking for PDF 1.7 compatibility in Preflight (Acrobat 9 Pro)
Hi, I've noticed that in the given Preflight profiles in Acrobat 9 there is no compatibility check for PDF 1.7, only 1.6. is there a profile i can load? or a set of checks i can make a profile in order to determine 1.7 compatibility? Thanks, Yair Agm
-
Why are security issues at bottom of security page
When first using firefox noticed at bottom of security page several security issues.
-
Hi I have a game designed in flash using the Object Oriented Approach. This implies I have various classes with a main class. I also have two versions of the game collaborative and non-collaborative which can be palyed using three different game cont
-
Reg:updation of likp-btgew field in vl02n transaction
hi friends, in my requirement i have to populate the field likp-btgew in vl02n when the outbound delivery was created i have updated the field by using user exits in program sapmv50a, now the field is getting updated but my problem is when i chan
-
How to install Firefox in English when in Greece?
I download and install twice the english version of firefox from firefox's website, but when I start installing I don't get asked what is my prefered language and everything start in Greek and finally the greek version is installed again and again!!!