Loading Purchasing data
Hi gurus,
I am Loading Purchasing data contains Hdr, Itm, Scl datasources..
1. I migraged the 3.x data sources to BI compatible.
2. created infopackage for data source and load data to PSA.
Then What are remaining steps to load data to infocube 0pur_c04.
Please share breifly step by step..
Urgent Please
Thanks in Advance
Hi Dinesh,
Thanks for reply.. but i am using standard objects,
when i creating transformation with 3.x infosource the system is not allowing me to create..
then how can i proceed..
I heard one option, in BI it is mandatory to load transaction data through Process Chains.. is it right..
Please let me know some other options..how can i use the 3.x objects in BI..
Urgent
Similar Messages
-
LO Extraction - Help required to load missing Purchasing data
Hi,
We are using 2 Data Sources: 2LIS_02_ITM & 2LIS_02_SCL to load the Purchasing data in to Info Cube: ZPUR_C01. While comparing the Invoice Amount for the periods 11.2007 & 12.2007, we found the variation between BW and SAP R/3 data.
In this scenario, do we need to delete the set up tables and fill the set up tables in R/3 side and perform RE-INIT of InfoCube in BW side?
OR
There is possibility to load the data in set up tables in period wise in R/3 side? If it is possible, i can delete the data from InfoCubes for the periods 11.2007 & 12.2007 using Selective deletion and load the data in to InfoCube for the same periods. Please let me know.
Thanks & Best Regards,
VenkataHi Venkat,
First you need to know how ur period is derived, is it based on (EKKO-AEDAT) or (EKPO-AEDAT). If period is derived from EKKO-AEDAT you can delete data from cubes period by period and have to fill setup tables based on Doc. date for those periods. And you have to do full repair loads. Make sure that during that time no one creates/changes/GR/IR for those period PO's. Otherwise they again comes in delta load and values will be summed up.
hope this will help.
Thanks, Vamsee -
How to get purchasing data from SAP R/3 to OWB (Oracle warehouse builder).
Hi,
My name is Pavan Tata. I work as a SAP BW developer. Here is the situation at my client place. Client decided to retire BW system and wants to replace with OWB(Oracle warehouse). In all this currently we have purhchasing application in BW production system and wants to move this application to OWB for the same type of reporting what they are getting currently.
Here is my question:
How to get purchasing data from SAP R/3 to OWB(Warehouse) with initial full loads and deltas mechanism in the same way as we do in BW.
Please help on this, also send me any documentation about this if you have.
Thanks,
Pavan.Hello,
here is a short report which converts S012 entries to strings with separator semicolon. Perhaps this will help you?
Regards
Walter Habich
REPORT habitest2 LINE-SIZE 255.
TYPES:
strtab_t TYPE TABLE OF string.
CONSTANTS:
separator VALUE ';'.
DATA:
it_s012 LIKE s012 OCCURS 0,
wa_s012 LIKE s012,
strtab TYPE strtab_t,
strele TYPE string.
SELECT * FROM s012 INTO TABLE it_s012 UP TO 100 ROWS.
PERFORM data_to_string
TABLES
strtab
USING
'S012'. "requires it_s012 and wa_s012
LOOP AT strtab INTO strele.
WRITE: / strele.
ENDLOOP.
*& Form data_to_string
FORM data_to_string TABLES strtab TYPE strtab_t
USING ittab TYPE any.
DATA:
h_zaehler TYPE i,
line_str TYPE string,
l_tabellenname(10) TYPE c,
l_arbeitsbereichsname(10) TYPE c,
h_string TYPE string,
h_char(255) TYPE c.
FIELD-SYMBOLS: <l_tabelle> TYPE ANY TABLE,
<l_arbeits> TYPE ANY,
<feldzeiger> TYPE ANY.
CLEAR strtab.
CONCATENATE 'IT_' ittab INTO l_tabellenname.
ASSIGN (l_tabellenname) TO <l_tabelle>.
CONCATENATE 'WA_' ittab INTO l_arbeitsbereichsname.
ASSIGN (l_arbeitsbereichsname) TO <l_arbeits>.
LOOP AT <l_tabelle> INTO <l_arbeits>.
CLEAR: h_zaehler, line_str.
line_str = ittab.
DO.
ADD 1 TO h_zaehler.
ASSIGN COMPONENT h_zaehler OF
STRUCTURE <l_arbeits> TO <feldzeiger>.
IF sy-subrc <> 0. EXIT. ENDIF.
WRITE <feldzeiger> TO h_char LEFT-JUSTIFIED. "#EC *
h_string = h_char.
CONCATENATE line_str separator h_string INTO line_str.
ENDDO.
APPEND line_str TO strtab.
ENDLOOP.
ENDFORM. "data_to_string -
ITunes was unable to load provider data from Sync Services
Hello,
My itunes says : "iTunes was unable to load provider data from Sync Services", when i connect my iphones.
My iphones sync fine on my other computer.
This problem occurred when formatting my pc from work.
And this problem prevents me only sync tab "info" (contacts, calendar and Outlook). This does not prevent me to synchronize other tabs.
I already tried to reinstall itunes, and the diagnostic option.
Thanks in advance.This problem has been ongoing since 9.2 came out ... i.e. quite some time.
I uninstalled and then removed all traces off Apple applications, then reinstalled back to the prior version and ran with no problems.
When I upgraded to V4 iPhone software I had to upgrade again and ran into the same problem.
Upgrading from Outlook 2000 to Outlook 2003 was of no benefit.
I have purchased Sync2, set up a gmail account and sync over wireless from Outlook to gamil, then from gamil to iPhone.
This only does calendar and contacts (haven't found a solution for notes) but waiting for Apple to sort this will probably see you old and gray.
Good luck. -
Error while loading Purchasing Cube.
Hi All,
I am loading the data to Purchasing Group Cube "0PUR_C04" with the data source 2LIS_02_SCL. The laod fails saying that "The material MB0214363L does not exist or is not activated" When I checked the same material in R/3 I could see it as the deleted material. I am unable to load the data in BI even when in Error Handling I select "Update valid records". Please guide me in that, its very urgent. I will assign points.
Thanks and Regards,
Sangini.Select the option load even if master does not exists in the InfoPackage
OR
Load the master data for material and activate it
Now reload the transaction data. -
What happens internally while loading master data and transaction?
hello,
What happens internally and which tables are used while loading master data and transaction?
I have loaded the data in DSO, but i am not getting value of particular InfoObject after loading the data.
I have executed Attribute change run also.
Kindly explain ...
Thanks,
SonuHi,
Master data,
Material Indipendent data can be sent without any dependency.
Material Dependent data sequence is as follow.
Plant,
MRP areas,
Supply area,
Material,
MRP area material,
planning material,
ATP check,
Purchase info recards,
schedule agg,
PPM or PDS (But before PPM or PDS work center should send to apo) If PDS is sending then BOM should send before PDS.
Transaction data.
As per the business requirement what is planning in apo.
Regards,
Kishore Reddy. -
Loading transaction data from flat file to SNP order series objects
Hi,
I am an BW developer and i need to provide data to my SNP team.
Can you please let me know more about <b>loading transaction data (sales order, purchase order, etc.,) from external systems into order based SNP objects/structure</b>. there is a 3rd party tool called webconnect that gets data from external systems and can give data in flat file or in database tables what ever required format we want.
I know we can use BAPI's, but dont know how. can you please send any <b>sample ABAP program code that calls BAPI to read flat file and write to SNP order series objects</b>.
Please let me know ASAP, how to get data from flat file into SNP order based objects, with options and I will be very grateful.
thanks in advance
RahulHi,
Please go through the following links:
https://forums.sdn.sap.com/click.jspa?searchID=6094493&messageID=4180456
https://forums.sdn.sap.com/click.jspa?searchID=6094493&messageID=4040057
https://forums.sdn.sap.com/click.jspa?searchID=6094493&messageID=3832922
https://forums.sdn.sap.com/click.jspa?searchID=6094493&messageID=4067999
Hope this helps...
Regards,
Habeeb
Assign points if helpful..:) -
I am new to AQ and XML,
We have a situation at our project, the last DBA left us without any previous notice and no one here know AQ and XML. So now it is my duty to learn and work on this project.
We are getting Queue with XML information (i mean data) we have to dequeue and then store that data in oracle tables.
I tried to each and every site to get a grip of what's the basic here, but I get lost. It's more easy for me to understand a concept by going through examples rather study chapters.
This is what I did today from this site. (http://www.oracle.com/technology/sample_code/tech/java/codesnippet/xmldb/HowToLoadLargeXML.html#PLSQLCode)
created the potable, then loaded data in potable as per example. Now I want to load this data in a table which I created in Oracle (10.2....) table.
CREATE OR REPLACE PROCEDURE loadpurchaseorder
IS
-- Declare a CLOB variable
poxml CLOB;
BEGIN
-- Store the Purchase Order XML in the CLOB variable
poxml :=
'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PurchaseOrder>
<PONum>1001</PONum>
<Company>Oracle Corp</Company>
<PONum>1002</PONum>
<Company>NPC Corp</Company>
<PONum>1003</PONum>
<Company>FDCA Corp</Company>
<PONum>1004</PONum>
<Company>Mahesh Corp</Company>
<PONum>1005</PONum>
<Company>Habeeb Corp</Company>
</PurchaseOrder>';
-- Insert the Purchase Order XML into an XMLType column
INSERT INTO potable
(purchaseorder
VALUES (XMLTYPE (poxml)
--Handle the exceptions
EXCEPTION
WHEN OTHERS
THEN
raise_application_error
(-20101
, 'Exception occurred in loadPurchaseOrder procedure :'
|| Sqlerrm
END loadpurchaseorder;
execute loadpurchaseorder;PL/SQL procedure successfully completed.
Elapsed: 00:00:00.04
select count(*) from potable;COUNT(*)
1
Elapsed: 00:00:00.00
select * from potable;PURCHASEORDER
<?xml version="1.0" encoding="ISO-8859-1" standalone='yes'?>
<PurchaseOrder>
<PONum>1001</PONum>
<Company>Oracle Corp</Company>
<PONum>1002</PONum>
<Company>NPC Corp</Company>
<PONum>1003</PONum>
<Company>FDCA Corp</Company>
<PONum>1004</PONum>
<Company>Mahesh Corp</Company>
<PONum>1005</PONum>
<Company>Habeeb Corp</Company>
</PurchaseOrder>
Elapsed: 00:00:00.03
create table xml_ora_data(corp_id number, corp_name varchar2(30));Table created.
Now I want data from potable to be loaded in xml_ora_data.
any help is appriciated...
Thanks
HabeebThanks for the quick response...
XML_ORA_DATA is the table I created as below..
create table xml_ora_data(corp_id number, corp_name varchar2(30)); -
Just got my 1st iMac, trying to load my iTunes library, but it only seems to want to load "purchased" music, not the music I've loaded by disc etc
Easiest way is to use Migration Assistant application in /Applications/Utilities/ on your computer.
This will migrate all yoru user data from old computer.
See this -> http://support.apple.com/kb/HT4796 -
Purchasing Data - 2LIS_02_SCL
Hi Experts,
We are loading the purchasing data from SAP R/3 data soiurce 2LIS_02_SCL. The PO raised in the local currency(JPY), then while PO generation it converted to order currency(USD). In the extractor filed BWGEOO posting the confirmation value which is calculted by current exchange rate table WKURS. But i do not want chk this PO values with the exchange rate.
So can i use the field BWEFFWR(Effective Purchase Order Value) for goods receipts values. Please provide your suggestion. because i am receiving this filed in the BW end and value looks fine(i mean, not using any exchange rate)
calcultion:
BWGEOO u2013 Purchase Value in Order Currency
bwgeoo = eket-menge * ekpo-effwr / ekpo-menge.
bwgeoo = Schedule Line Quantity * Effective Price / Item Quantity
For goods receipts, the following applies:
bwgeoo = bwgeo converted using WKURS
Advance Thanks.
RR.Hi Gopal,
You can refer the below SAP Link for the 2LIS_02_SCL.
http://help.sap.com/saphelp_nw04/helpdata/en/8d/bc383fe58d5900e10000000a114084/content.htm
Currently we are using the BWGEOO u2013 Purchase Value in Order Currency in goods receipt amount.
The PO raised in the local currency(JPY), then while PO generation it converted to order currency(USD). In the extractor filed BWGEOO posting the goods receipt amount which is calculated by current exchange rate table WKURS. But i do not want calculate the goods receipt amount with the exchange rate.
In the same extractor field called BWEFFWR(Effective Purchase Order Value) which also post the goods receipts amount.
So can i use the field BWEFFWR(Effective Purchase Order Value) for goods receipts amount instead of BWGEOO field.
Please provide your suggestion. because i am receiving this filed in the BW end and value looks fine(i mean, not using any exchange rate). Now the problem related to the goods receipts amount. Please refer the above link for filed BWGEOO & BWEFFWR calculations.
Advance Thanks.
RR. -
Why we load Master data first before loading Transaction data
Hi Experts,
why we load Master data first before loading Transaction data, specify any reasons for that ? Is it mandatory to load MD first ?
I will allocate points to those who help me in detail. My advance thanks who respond to my query.
Edited by: Nagireddy Pothireddy on Mar 10, 2008 8:17 AMHi Nagireddy,
I hope this helps....
The bottom line for building cubes it to view facts against dimensions. When i say facts these are the key-figures i.e sales volume, Sales vat etc against some characteristics like sales Area, Cost center , plant.
Basically charateristics are those against which key-figures are measures like Costcenter, plant, material etc.
Dimensions are a grouping of related characteristic. So basically a cube has a central fact table with dimesions associated to it in a relational schema. Imagine now you want to view a key figure Sales Volume against a dimension plant. when you consider plant , it has a distribution channel, purchasing organisation , company code, sales area, region etc associated with it. So which form the attributes of plant and also have some or the other description (texts) and aslo hierarchy. first we load the master data and then the transaction data follows. -
Generic Extractor: enriching GL Data with Purchasing Data
Experts,
This is my first time with Generic Extractor.
Requirement:
We have a requirement to enrich GL data with Purchasing data via the Material Document Number.
I need to provide this upto to the datawarehouse layer wherein another team will take over.
Solution idea:
Material Document is not part of the datasource 2LIS_02_SCL.
a. Should I enhance this datasource to include material number OR
b. Develop a concept to create a generic delat enabled extractor that pulls data from EKBE, GR and IR information.
In EKBE multiple material documents can exist per PO. The extractor returns 2 record per PO (before and after image) with the updated information.So if we have the first GR with Material document 901 and then a second GR with material doc 902 the extractor loads 3 records. New record, Before image and after image and the only one stored in BI is the after image. material doc would have value 902 if enhanced.
For the generic extractor approach the the ability to load deltas is crucial, since the EKBE table is very big. Maybe
"CPUDT-Day On Which Accounting Document Was Entered" and "CPUTM-Time of Entry" can be leveraged as delta hook.
Any ideas???
Thanks,
JainNo one answered
-
How can I load my data faster? Is there a SQL solution instead of PL/SQL?
11.2.0.2
Solaris 10 sparc
I need to backfill invoices from a customer. The raw data has 3.1 million records. I have used pl/sql to load these invoices into our system (dev), however, our issue is the amount of time it's taking to run the load - effectively running at approx 4 hours. (Raw data has been loaded into a staging table)
My research keeps coming back to one concept: sql is faster than pl/sql. Where I'm stuck is the need to programmatically load the data. The invoice table has a sequence on it (primary key = invoice_id)...the invoice_header and invoice_address tables use the invoice_id as a foreign key. So my script takes advantage of knowing the primary key and uses that on the subsequent inserts to the subordinate invoice_header and invoice_address tables, respectively.
My script is below. What I'm asking is if there are other ideas on the quickest way to load this data...what am I not considering? I have to load the data in dev, qa, then production so the sequences and such change between the environments. I've dummied down the code to protect the customer; syntax and correctness of the code posted here (on the forum) is moot...it's only posted to give the framework for what I currently have.
Any advice would be greatly appreciated; how can I load the data faster knowing that I need to know sequence values for inserts into other tables?
DECLARE
v_inv_id invoice.invoice_id%TYPE;
v_inv_addr_id invoice_address.invoice_address_id%TYPE;
errString invoice_errors.sqlerrmsg%TYPE;
v_guid VARCHAR2 (128);
v_str VARCHAR2 (256);
v_err_loc NUMBER;
v_count NUMBER := 0;
l_start_time NUMBER;
TYPE rec IS RECORD
BILLING_TYPE VARCHAR2 (256),
CURRENCY VARCHAR2 (256),
BILLING_DOCUMENT VARCHAR2 (256),
DROP_SHIP_IND VARCHAR2 (256),
TO_PO_NUMBER VARCHAR2 (256),
TO_PURCHASE_ORDER VARCHAR2 (256),
DUE_DATE DATE,
BILL_DATE DATE,
TAX_AMT VARCHAR2 (256),
PAYER_CUSTOMER VARCHAR2 (256),
TO_ACCT_NO VARCHAR2 (256),
BILL_TO_ACCT_NO VARCHAR2 (256),
NET_AMOUNT VARCHAR2 (256),
NET_AMOUNT_CURRENCY VARCHAR2 (256),
ORDER_DT DATE,
TO_CUSTOMER VARCHAR2 (256),
TO_NAME VARCHAR2 (256),
FRANCHISES VARCHAR2 (4000),
UPDT_DT DATE
TYPE tab IS TABLE OF rec
INDEX BY BINARY_INTEGER;
pltab tab;
CURSOR c
IS
SELECT billing_type,
currency,
billing_document,
drop_ship_ind,
to_po_number,
to_purchase_order,
due_date,
bill_date,
tax_amt,
payer_customer,
to_acct_no,
bill_to_acct_no,
net_amount,
net_amount_currency,
order_dt,
to_customer,
to_name,
franchises,
updt_dt
FROM BACKFILL_INVOICES;
BEGIN
l_start_time := DBMS_UTILITY.get_time;
OPEN c;
LOOP
FETCH c
BULK COLLECT INTO pltab
LIMIT 1000;
v_err_loc := 1;
FOR i IN 1 .. pltab.COUNT
LOOP
BEGIN
v_inv_id := SEQ_INVOICE_ID.NEXTVAL;
v_guid := 'import' || TO_CHAR (CURRENT_TIMESTAMP, 'hhmissff');
v_str := str_parser (pltab (i).FRANCHISES); --function to string parse - this could be done in advance, yes.
v_err_loc := 2;
v_count := v_count + 1;
INSERT INTO invoice nologging
VALUES (v_inv_id,
pltab (i).BILL_DATE,
v_guid,
'111111',
'NONE',
TO_TIMESTAMP (pltab (i).BILL_DATE),
TO_TIMESTAMP (pltab (i).UPDT_DT),
'READ',
'PAPER',
pltab (i).payer_customer,
v_str,
'111111');
v_err_loc := 3;
INSERT INTO invoice_header nologging
VALUES (v_inv_id,
TRIM (LEADING 0 FROM pltab (i).billing_document), --invoice_num
NULL,
pltab (i).BILL_DATE, --invoice_date
pltab (i).TO_PO_NUMBER,
NULL,
pltab (i).net_amount,
NULL,
pltab (i).tax_amt,
NULL,
NULL,
pltab (i).due_date,
NULL,
NULL,
NULL,
NULL,
NULL,
TO_TIMESTAMP (SYSDATE),
TO_TIMESTAMP (SYSDATE),
PLTAB (I).NET_AMOUNT_CURRENCY,
(SELECT i.bc_value
FROM invsvc_owner.billing_codes i
WHERE i.bc_name = PLTAB (I).BILLING_TYPE),
PLTAB (I).BILL_DATE);
v_err_loc := 4;
INSERT INTO invoice_address nologging
VALUES (invsvc_owner.SEQ_INVOICE_ADDRESS_ID.NEXTVAL,
v_inv_id,
'BLAH INITIAL',
pltab (i).BILL_DATE,
NULL,
pltab (i).to_acct_no,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
SYSTIMESTAMP,
NULL);
v_err_loc := 5;
INSERT INTO invoice_address nologging
VALUES ( SEQ_INVOICE_ADDRESS_ID.NEXTVAL,
v_inv_id,
'BLAH',
pltab (i).BILL_DATE,
NULL,
pltab (i).TO_ACCT_NO,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
SYSTIMESTAMP,
NULL);
v_err_loc := 6;
INSERT INTO invoice_address nologging
VALUES ( SEQ_INVOICE_ADDRESS_ID.NEXTVAL,
v_inv_id,
'BLAH2',
pltab (i).BILL_DATE,
NULL,
pltab (i).TO_CUSTOMER,
pltab (i).to_name,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
SYSTIMESTAMP,
NULL);
v_err_loc := 7;
INSERT INTO invoice_address nologging
VALUES ( SEQ_INVOICE_ADDRESS_ID.NEXTVAL,
v_inv_id,
'BLAH3',
pltab (i).BILL_DATE,
NULL,
'SOME PROPRIETARY DATA',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
SYSTIMESTAMP,
NULL);
v_err_loc := 8;
INSERT
INTO invoice_event nologging (id,
eid,
root_eid,
invoice_number,
event_type,
event_email_address,
event_ts)
VALUES ( SEQ_INVOICE_EVENT_ID.NEXTVAL,
'111111',
'222222',
TRIM (LEADING 0 FROM pltab (i).billing_document),
'READ',
'some_user@some_company.com',
SYSTIMESTAMP);
v_err_loc := 9;
INSERT INTO backfill_invoice_mapping
VALUES (v_inv_id,
v_guid,
pltab (i).billing_document,
pltab (i).payer_customer,
pltab (i).net_amount);
IF v_count = 10000
THEN
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
errString := SQLERRM;
INSERT INTO backfill_invoice_errors
VALUES (
pltab (i).billing_document,
pltab (i).payer_customer,
errString || ' ' || v_err_loc
COMMIT;
END;
END LOOP;
v_err_loc := 10;
INSERT INTO backfill_invoice_timing
VALUES (
ROUND ( (DBMS_UTILITY.get_time - l_start_time) / 100,
2)
|| ' seconds.',
(SELECT COUNT (1)
FROM backfill_invoice_mapping),
(SELECT COUNT (1)
FROM backfill_invoice_errors),
SYSDATE
COMMIT;
EXIT WHEN c%NOTFOUND;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
errString := SQLERRM;
INSERT INTO backfill_invoice_errors
VALUES (NULL, NULL, errString || ' ' || v_err_loc);
COMMIT;
END;Hello
You could use insert all in your case and make use of sequence.NEXTVAL and sequence.CURRVAL like so (excuse any typos - I can't test without table definitions). I've done the first 2 tables, so it's just a matter of adding the rest in...
INSERT ALL
INTO invoice nologging
VALUES ( SEQ_INVOICE_ID.NEXTVAL,
BILL_DATE,
my_guid,
'111111',
'NONE',
CAST(BILL_DATE AS TIMESTAMP),
CAST(UPDT_DT AS TIMESTAMP),
'READ',
'PAPER',
payer_customer,
parsed_francises,
'111111'
INTO invoice_header
VALUES ( SEQ_INVOICE_ID.CURRVAL,
TRIM (LEADING 0 FROM billing_document), --invoice_num
NULL,
BILL_DATE, --invoice_date
TO_PO_NUMBER,
NULL,
net_amount,
NULL,
tax_amt,
NULL,
NULL,
due_date,
NULL,
NULL,
NULL,
NULL,
NULL,
SYSTIMESTAMP,
SYSTIMESTAMP,
NET_AMOUNT_CURRENCY,
bc_value,
BILL_DATE)
SELECT
src.billing_type,
src.currency,
src.billing_document,
src.drop_ship_ind,
src.to_po_number,
src.to_purchase_order,
src.due_date,
src.bill_date,
src.tax_amt,
src.payer_customer,
src.to_acct_no,
src.bill_to_acct_no,
src.net_amount,
src.net_amount_currency,
src.order_dt,
src.to_customer,
src.to_name,
src.franchises,
src.updt_dt,
str_parser (src.FRANCHISES) parsed_franchises,
'import' || TO_CHAR (CURRENT_TIMESTAMP, 'hhmissff') my_guid,
i.bc_value
FROM BACKFILL_INVOICES src,
invsvc_owner.billing_codes i
WHERE i.bc_name = src.BILLING_TYPE;Some things to note
1. Don't commit in a loop - you only add to the run time and load on the box ultimately reducing scalability and removing transactional integrity. Commit once at the end of the job.
2. Make sure you specify the list of columns you are inserting into as well as the values or columns you are selecting. This is good practice as it protects your code from compilation issues in the event of new columns being added to tables. Also it makes it very clear what you are inserting where.
3. If you use WHEN OTHERS THEN... to log something, make sure you either rollback or raise the exception. What you have done in your code is say - I don't care what the problem is, just commit whatever has been done. This is not good practice.
HTH
David
Edited by: Bravid on Oct 13, 2011 4:35 PM -
What are the tables will update while loading Master data ?
Hello Experts,
What are the tables will update while loading Master data ? And requesting you to provide more information about Master data loading and its related settings in the beginning of creation infoobjects.It depends upon the type of Master data u r loading....
In all the master data loadings, for every new value of master data an SID will be created in the SID table /BI*/S<INFOOBJECT NAME> irrespective of the type of master data.
But the exceptional tables that get updated depending on the type of master data are.....
If it is a time Independent master data then the /BI*/P<INFOOBJECT NAME> table gets updated with the loaded data.
If it is a time dependent master data then the /BI*/Q<INFOOBJECT NAME> table gets updated with the loaded data.
If the master data is of time Independent Navigational attributes then for every data load the SID table will get updated first and then the /BI*/X<INFOOBJECT NAME> table gets updated with the SID's created in the SID table (NOT WITH THE MASTER DATA).
If the master data is of time dependent navigational attributes then for every data load the SID table will get updated first and then the /BI*/Y<INFOOBJECT NAME> table gets updated with the SID's created in the SID table (NOT WITH THE MASTER DATA).
NOTE: As said above, For all the data in P, Q, T, X, Y tables the SID's will be created in the S table /BI*/S<INFOOBJECT NAME>
NOTE: Irrespective of the time dependency or Independency the VIEW /BI*/M<INFOOBJECT NAME> defined on the top of /BI*/P<INFOOBJECT NAME> & /BI*/Q<INFOOBJECT NAME> tables gives the view of entire master data.
NOTE: it is just a View and it is not a Table. So it will not have any physical storage of data.
All the above tables are for ATTRIBUTES
But when it comes to TEXTS, irrespective of the Time dependency or Independency, the /BI*/T<INFOOBJECT NAME> table gets updated (and of course the S table also).
Naming Convention: /BIC/*<InfoObject Name> or /BI0/*<InfoObject Name>
C = Customer Defined Characteristic
0 = Standard or SAP defined Characteristic
* = P, Q, T, X,Y, S (depending on the above said conditions)
Thanks & regards
Sasidhar -
I have hierarchy data in R/3 side how will i load that data from R/3 to BW
Hi all,
i have my hierarchy data in the R/3 side how will i load that data from R/3 to BW side
Regard
Kiran KumarHi Kiran,
Here is the procedure:
1. In the Data Warehousing Workbench under Modeling, select the InfoSource tree.
2. Select the InfoSource (with direct update) for the InfoObject, to which you want to load the hierarchy.
3. Choose Additional Functions® Create Transfer Rules from the context menu of the hierarchy table object for the InfoObject. The Assign Source System dialog box appears.
4. Select the source system from which the hierarchy is to be loaded. The InfoSource maintenance screen appears.
○ If the DataSource only supports the transfer method IDoc, then only the transfer structure is displayed (tab page DataSource/Transfer Structure).
○ If the DataSource also supports transfer method PSA, you can maintain the transfer rules (tab page Transfer Rules).
If it is possible and useful, we recommend that you use the transfer method PSA and set the indicator Expand Leaf Values and Node InfoObjects. You can then also load hierarchies with characteristics whose node name has a length >32.
5. Save your entries and go back. The InfoSource tree for the Data Warehousing Workbench is displayed.
6. Choose Create InfoPackage from the context menu (see Maintaining InfoPackages). The Create InfoPackage dialog box appears.
7. Enter the description for the InfoPackage. Select the DataSource (data element Hierarchies) that you require and confirm your entries.
8. On the Tab Page: Hierarchy Selection, select the hierarchy that you want to load into your BI system.
Specify if the hierarchy should be automatically activated after loading or be marked for activation.
Select an update method (Full Update, Insert Subtree, Update Subtree).
If you want to load a hierarchy from an external system with BAPI functionality, make BAPI-specific restrictions, if necessary.
9. If you want to load a hierarchy from a flat file, maintain the tab page: external data.
10. Maintain the tab page: processing.
11. Maintain the tab page: updating.
12. To schedule the InfoPackage, you have the following options:
○ (Manually) in the scheduler, see Scheduling InfoPackages
○ (Automatically) using a process chain (see Loading Hierarchies Using a Process Chain)
When you upload hierarchies, the system carries out a consistency check, making sure that the hierarchy structure is correct. Error messages are logged in the Monitor. You can get technical details about the error and how to correct it in the long text for the respective message.
For more info visit this help pages on SAP Help:
http://help.sap.com/saphelp_nw04s/helpdata/en/80/1a6729e07211d2acb80000e829fbfe/frameset.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/3d/320e3d89195c59e10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/80/1a6729e07211d2acb80000e829fbfe/frameset.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/4dae0795-0501-0010-cc96-fe3a9e8959dc
Cheers,
Habeeb
Maybe you are looking for
-
How do i find the music i sync from my ipad to imac
how do i find the music i sync from my ipad to imac
-
Error Message to Warning Message in Class M7 - transaction Please ?
Hi, Please could someone tell me the transaction to maintain Message 395 in class M7 I wish to change this from an error to a warning, - or preferably switch this off. Just upgraded from 4.6c to ECC6 , I cannot recall the problem occurring in 4.6c, p
-
CS2 (photoshop and the rest) suddenly stopped working
I have been working in CS2 yesterday and today on a project, photoshop, bridge and illustrator. I work on a new MacBook and previously used this copy, which I own, on my iMac. About 2 months ago I deactivated the software on my iMac G5 before recycli
-
Kernel Panics when waking from Sleep
I'm getting many panics sometimes a couple of times of day with a MBP 2.0Ghz. No funny USB devices plugged in. So there is an extra 1GB ram, but a 5 pass Memtest shows the memory as fine. Hardware Diagnostics shows no problems. Is this a hardware fau
-
FLASH PLAYER 10 STOPPED WORKING ON WNDWS 7 2 DAYS AGO
I have been using flash player 10 on windows 7 IE 8 laptop for six months and it has worked properly for the past two days. i spent two hours on the phone with mlb.com support(live basebaall) is my main use of the player. we tried several different a