How to get an Net asset value for the Equipment from ERP in to BI
Hi
I am extracting the data from CRM to BI about the De installation information like
Planned date of de installation, contract end date etc . But Ineed to extract Asset net value for that equipement. I think asset value should be extracyed from ERP but I dont know which tables and datsource stores
Thanks,
Sudha
If you want the main tables within Assets :
FI-AA-AA (AA) Asset Accounting: Basic Functions u2013 Master Data
ANKA Asset Classes: General Data ANLKL
ANKP Asset Classes: Fld Cont Dpndnt on Chart ANLKL / AFAPL
of Depreciation
ANKT Asset Classes: Description SPRAS / ANLKL
ANKV Asset Classes: Insurance Types ANLKL / VRSLFD
ANLA Asset Master Record Segment BUKRS / ANLN1 / ANLN2
ANLB Depreciation Terms BUKRS / ANLN1 / ANLN2 / AFABE
/ BDATU
ANLT Asset Texts SPRAS / BUKRS / ANLN1 / ANLN2
ANLU Asset Master Record User Fields .INCLUDE / BUKRS / ANLN1 / ANLN2
ANLW Insurable Values (Year Dependent) BUKRS / ANLN1 / ANLN2 / VRSLFD /
GJAHR
ANLX Asset Master Record Segment BUKRS / ANLN1 / ANLN2
ANLZ Time Dependent Asset Allocations BUKRS / ANLN1 / ANLN2 / BDATU
FI-AA-AA (AA2) Asset Accounting: Basic Functions u2013 Master Data 2.0
ANAR Asset Types ANLAR
ANAT Asset Type Text SPRAS / ANLAR
FI-AA-AA (AB) Asset Accounting: Basic Functions u2013
Asset Accounting
ANEK Document Header Asset Posting BUKRS / ANLN1 / ANLN2 / GJAHR /
LNRAN
ANEP Asset Line Items BUKRS / ANLN1 / ANLN2 / GJAHR /
LNRAN / AFABE
ANEV Asset Downpymt Settlement BUKRS / ANLN1 / ANLN2 / GJAHR /
LNRANS
ANKB Asset Class: Depreciation Area ANLKL / AFAPL / AFABE / BDATU
ANLC Asset value Fields BUKRS / ANLN1 / ANLN2 / GJAHR /
AFABE
ANLH Main Asset Number BUKRS / ANLN1
ANLP Asset Periodic Values BUKRS / GJAHR / PERAF / AFBNR /
ANLN1 / ANLN2 / AFABER
FI-SL-VSR (GVAL) Special Purpose Ledger: Validation, Substitution and Rules
GB03 Validation / Substitution User VALUSER
GB92 Substitutions SUBSTID
GB93 Validation VALID
Similar Messages
-
How to get ridd of Garbage Values in the row from the Tables
Hi Experts,
I have an excel Sheet which has a value as
Name
ABC
PQR
XYZ
MNO
STU
DEF
JKL
So i converted that to a csv (Comma de-limited) file and created an external table out off it.
So when i try to match to "select * from table;" it displys the vlaue as below
*"ABC*
however, it should have been just ABC.
select length(Name) from Table;
O/p: 4 (It Should have been 3)
How to get rid off this garbaje character?
Please Help!!!!!!!
Regards,
Ravi RYou didn't post CSV file. I can't reproduce your issue using the following CSV:
"ABC"
"PQR"
"XYZ"
"MNO"
"STU"
"DEF"
"JKL"
SQL> CREATE TABLE EXT_EMP
2 (
3 EMP_L VARCHAR2(255)
4 )
5 ORGANIZATION EXTERNAL
6 ( TYPE ORACLE_LOADER
7 DEFAULT DIRECTORY "TEMP"
8 ACCESS PARAMETERS
9 ( RECORDS DELIMITED BY NEWLINE
10 CHARACTERSET WE8MSWIN1252
11 STRING SIZES ARE IN BYTES
12 BADFILE "EXT_EMP.BAD"
13 NODISCARDFILE
14 LOGFILE "EXT_EMP.LOG"
15 SKIP 1 FIELDS TERMINATED BY ','
16 OPTIONALLY ENCLOSED BY '"' AND '"'
17 NOTRIM
18 (
19 EMP_L CHAR
20 )
21 )
22 LOCATION
23 (
24 'Employess.csv'
25 )
26 )
27 REJECT LIMIT UNLIMITED;
Table created.
SQL> SELECT *
2 FROM EXT_EMP
3 /
EMP_L
PQR
XYZ
MNO
STU
DEF
JKL
6 rows selected.
SQL> SY. -
have an ipod and then got the wife an iphone4. all passwords are screwed up. she can not access playstore cuz she doesn't have password. i can not get find any help on how to get or update a password for the ipod. and then get her a separate password for her iphone. we need to save her photos, music, etc to ? icloud and the phone stuff to verizon cloud? so when she gets her new Iphone6 she can have all her "stuff" back on the new phone. hope this makes sense. please offer suggestions here or at [email protected] thanks for your help!
Oh no! I'm sorry to see there's a lot of confusion here and data shared, x-rayDon. We can definitely work to fix. This happens when two devices share the same Apple ID, so she will need to reset hers. She can do so by assessing this link Apple - My Apple ID. You will need to decide who will keep the account if want separate Apple IDs since purchases cannot be shared unless you do Family Sharing.
RobinD_VZW
Follow us on twitter @VZWSupport -
I have a net gear wireless router and a APE working great inside the house, but the wireless signal is weak in the backyard, can I get a net gear extender for the back yard and it will boost our wo
Ireless signal and also send my music to the airport express? Or does the airport express work as a stand alone hub?Trust me when I say this coming from 20 years of experience.
Get a powered external drive, format it 1 Partition Option: GUID and OS X Extended Journed as the format in Disk Utility.
Download and install Carbon Copy Cloner, clone internal drive to external drive.
Set a schedule to remind you to do it at least once a week, keep it near your charger.
When you plug your charger in, do plug the clone and power the machine up, set the display to sleep only,
CCC will do the rest.
If you want to boot from it, hold the option/alt and select it Startup Manager.
I've seen many TimeMachine and TimeCapsule nightmares and so far haven't seen a problem from anyone using a bootable clone.
It's simple, it's easy, it's more reliable and more powerful than what Apple does and it only takes plugging in a extra cable.
Make as many clones as you want, keep them time seperated, off site etc. etc.
Cables don't have network issues, clones can be verified in seconds merely by booting from them.
Clones protect your productivity, your up in seconds on a clone despite even the hard drive dying.
Software problem? No sweat, boot of the clone and reverse clone your problems away.
If you want to fuss and muss with half implemented TimeMachine and TimeCapsule network headaches then prepare to suffer.
I don't like to suffer, I bought a Mac not to suffer, but it appears you do with TimeMachine and TimeCapsule.
Most commonly used backup methods -
Trigger how to get new and old value for nested table column?
Hi,
I have created a nested table based on the following details:
CREATE TYPE typ_item AS OBJECT --create object
(prodid NUMBER(5),
price NUMBER(7,2) )
CREATE TYPE typ_item_nst -- define nested table type
AS TABLE OF typ_item
CREATE TABLE pOrder ( -- create database table
ordid NUMBER(5),
supplier NUMBER(5),
requester NUMBER(4),
ordered DATE,
items typ_item_nst)
NESTED TABLE items STORE AS item_stor_tab
INSERT INTO pOrder
VALUES (800, 80, 8000, sysdate,
typ_item_nst (typ_item (88, 888)));
Now I would like to create a trigger on table pOrder for after insert or update or delete
and I would like to track the new and old value for the columns inside nested table.
Can anybody direct me how to do it?
I would like to know the sytax for it like:
declare
x number;
begin
x := :new.nestedtablecolumn;--how to get the new and old value from nested table columns
end;
Hope my question is clear.
Thanks,
LavanHi,
Try like this:
CREATE OR REPLACE TRIGGER PORDER_I
BEFORE INSERT
ON PORDER
REFERENCING OLD AS old NEW AS new
FOR EACH ROW
DECLARE
items_new typ_item_nst;
ordid_NEW NUMBER;
BEGIN
FOR i IN :new.items.FIRST .. :new.items.LAST LOOP -- For first to last element
DBMS_OUTPUT.PUT_LINE(':new.items(' || I || ').prodid: ' || :new.items(I).prodid );
DBMS_OUTPUT.PUT_LINE(':new.items(' || I || ').price: ' || :new.items(I).price );
END LOOP;
END;Regards,
Peter -
How to get monthwise opening qty / value for previous years
I do not get the month wise opening quantity and values for the items for the previous years using the below query. How i can modify this query to get opening qty / value of any year less than current year.
Yogesh
SELECT OPN_ITEM_CODE,
---------------------------------------OPENING QTY---------------------------------------------------
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),3)THEN ROUND(OPSTK,3) ELSE NULL END)APR_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),4)THEN ROUND(OPSTK,3) ELSE NULL END)MAY_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),5)THEN ROUND(OPSTK,3) ELSE NULL END)JUN_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),6)THEN ROUND(OPSTK,3) ELSE NULL END)JUL_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),7)THEN ROUND(OPSTK,3) ELSE NULL END)AUG_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),8)THEN ROUND(OPSTK,3) ELSE NULL END)SEP_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),9)THEN ROUND(OPSTK,3) ELSE NULL END)OCT_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),10)THEN ROUND(OPSTK,3) ELSE NULL END)NOV_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),11)THEN ROUND(OPSTK,3) ELSE NULL END)DEC_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12)THEN ROUND(OPSTK,3) ELSE NULL END)JAN_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),13)THEN ROUND(OPSTK,3) ELSE NULL END)FEB_OPQ,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),14)THEN ROUND(OPSTK,3) ELSE NULL END)MAR_OPQ,
---------------------------------------OPENING VALUE----------------------------------------------------
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),3)THEN ROUND(OPVAL,3) ELSE NULL END)APR_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),4)THEN ROUND(OPVAL,3) ELSE NULL END)MAY_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),5)THEN ROUND(OPVAL,3) ELSE NULL END)JUN_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),6)THEN ROUND(OPVAL,3) ELSE NULL END)JUL_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),7)THEN ROUND(OPVAL,3) ELSE NULL END)AUG_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),8)THEN ROUND(OPVAL,3) ELSE NULL END)SEP_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),9)THEN ROUND(OPVAL,3) ELSE NULL END)OCT_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),10)THEN ROUND(OPVAL,3) ELSE NULL END)NOV_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),11)THEN ROUND(OPVAL,3) ELSE NULL END)DEC_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12)THEN ROUND(OPVAL,3) ELSE NULL END)JAN_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),13)THEN ROUND(OPVAL,3) ELSE NULL END)FEB_OPV,
SUM(CASE WHEN SL_DT < ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),14)THEN ROUND(OPVAL,3) ELSE NULL END)MAR_OPV
FROM( SELECT SL_ITEM_CODE OPN_ITEM_CODE, SL_DT,
SUM(DECODE(SL_RCVD_ISSD,'R',1,'I',-1)*SL_QTY_BU/IU_CONV_FACTOR/IU_MAX_LOOSE_1)OPSTK,
SUM(DECODE(SL_RCVD_ISSD,'R',1,'I',-1)*SL_VAL_1)OPVAL
FROM OS_STK_LEDGER, OM_ITEM_UOM
WHERE SL_ITEM_CODE = IU_ITEM_CODE
GROUP BY SL_ITEM_CODE, SL_DT
GROUP BY OPN_ITEM_CODEit think you need to look for [lag and lead|http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/analysis.htm#sthref1753]
-
How to upload two different asset values for Book & Tax Depre in FA
Hello all
kindly let me know how to resolve a situation where we have different methods of calculating Depreciation. For Example SLM for Book Depreciation and Diminishing method for Tax Depreciation.
To calculate depreciation we use straight line method for book depreciation and diminishing value method for Tax depreciation. In this case, we have 2 different asset values to calculate book and tax depreciation.
Since SAP allows to upload only one asset value (Gross book value), I get correct book depreciation value but incorrect value for tax depreciation as the tax depreciation is calculated based on gross book value instead of net book value (gross book value less accumulated depreciation value).
For Eg
FOR THE FIRST YEAR
BOOK DEPRECIATION:
Asset Value = 1000
Depreciation Method : SLM
Depreciation rate is 10%
Depreciation Amount = 100
TAX DEPRECIATION:
Asset Value = 1000
Depreciation Method : DIMINISHING METHOD
Depreciation rate is 15%
Depreciation Amount = 150
FOR THE SECOND YEAR
BOOK DEPRECIATION:
Asset Value = 1000
Depreciation Method : SLM
Depreciation rate is 10%
Depreciation Amount = 100
TAX DEPRECIATION:
Asset Value = 850
Depreciation Method : DIMINISHING METHOD
Depreciation rate is 15%
Depreciation Amount = 127.5
KINDLY LET ME KNOW HOW TO UPLOAD THE PAST DATA WITH TWO DIFFERENT ASSET VALUES (IE 1000 & 850) FOR THE ABOVE.
Regards
Sushil YadavHi K,
I'm having the same problem...did you find a solution yet?
Greets,
Martin. -
How to get previous month's values for current month
Hi..
I have a requirement on a report, where for a particular month, the key figure value should be from the previous month.
Eg: KF1 value for Sept 2007 should come from Aug 2007, KF value for Dec 2007 should be the value of Nov 2007, etc.
There are other key figures on the report which do not need this logic. It is only for one key figure.
Should we do this on the backend or front-end, and how? Any tips will be appreciated.
Thanks
R.hi,
Use a Restricted Keyfigure.
Drag your KF1 and Drag Calandar Month with a Variable Current Cal Month with variable Offset to -1.
KEERTTHi -
How to get rid of unassigned values in the report
hai to all,
here is the issue,
while running a report(sales per country), iam getting the data,after that when i drill down on <u><b>sales document number</b></u> iam getting some unassigned data, with Sales document number as #, and some value in the keyfigure.what is the reason behind this?
Here is another issue that i want to find all the sales documents which have the value # in the report?, is it possible? the same case with <u><b>Customer country</b></u>, on the same report.
pl anyone help me
br
venkat/shyamHi Shyam.
Regarding the first issue: Well, you've loaded some data records into your cube where the "Sales Doc Field" is empty. Did you load through PSA? The best way to scan your PSA (I believe) is to find the underlying table and have a look at it via SE16. In this way you don't have to scan through every data single package. This can be done via "display data flow" from your cube and switch on technical names. There you have it. (It's called /BIC/B00...etcetc you might have to add i few zeroes though when you enter it into SE16). Get request ID from "Infocube Managment". In SE16 seelction screen use F2 to set the "sales Doc No." field even to blank.
Second issue is a bit easier: in your query (or a working copy of your query) restrict on "Sales Doc No" or "Customer Coutry" to only include value "#". In the same way you can remove the unassigned values be excluding value "#".
Hope this works for you.
Chears, Jørn -
How to get standard view or table for the standard inforsource
Hi all:
According to business reqirement, we are going to use standard inforsource 0CO_OM_CCA_10,
we need to know the standard view or table in order to corresponding DataSource?
could you please tell me how to get the standard view or table or DataSource?
Couldn't thank you more!Hi Sony,
Goto RSA1>BI content installation>goto objects>double click on the Infosource>then a pop-up comes search for that infosource-->select it and click on transfer
Before that in the right side of the tab select the grouping as "Before and afterwards of the dataflow" and collection as automatic.
then you get all the datasource/cubes and all the object related to the infosource.
OR another option is-->
Goto RSA6 in the R/3 and search for the datasource with the name "0CO_OM_CCA_10" (don't forget to expand all the tree structure in RSA6)
then goto that datasource and double click on the datasource then you will get the Extract structure of that datasource.
double click on the extract structure then you may get the View name also.
hope this helps...
Regards,
Ravi Kanth -
Hi,
I have a scenario where I have applied Css styles to the textflow using the IFormatResolver interface.
Now what I need is a way to show which style is applied to the current selection.
I am getting all infomation using the following however the style name that is associated is not there.
var textLayoutFormat:TextLayoutFormat = textFlow.interactionManager.getCommonCharacterFormat() as TextLayoutFormat;
in my case I am having a parameter myStyle in the usersstyle object of the actual flow elements, but when I do the above I find that the user style object is different and it doesnt have any parameters as mystyle under it
-AsharThere's no general code for that. You will have to write something on your own. If for example you want to check for a specific style having a common value across the range a new function modeled on getCommonCharacterFormat would work:
public static function getCommonCharacterStyle(range:ElementRange,styleName:String):*
var leaf:FlowLeafElement = range.firstLeaf;
var value:* = leaf.getStyle(styleName);
if (value === undefined)
return undefined; // no common value or common value is undefined
for (;;)
if (leaf == range.lastLeaf)
break;
leaf = leaf.getNextLeaf();
if (value !== leaf.getStyle(styleName))
return undefined; // no common value
return value; // common value
Depending on your use case some variation of this will supply the information your application needs. More complicated, but doable, would be extending this to work on all userStyles in leaf returning an object of key-value pairs.
Hope that helps,
Richard -
How to get rid of error message for the material?
Hi everybody,there is a material which is showing an error message whenevr try to create a sales order, i've checked the material master...there is no check in X-plant Mtrl or X-dist chan or any flag for deletion...but still the red error message comes up while creating a sales order...how to get rid of this error?
this means material is blocked for procurment
three kinds of block can be there
01 Blocked for procment/whse
02 Blocked for task list/BOM
03 Blocked for Purchasing
GOTO MM42 give material n plant data
Select BESIC VIEW
there is a field called as material block remove the blocking reason
Hope this will help
Edited by: WISH on Mar 24, 2008 6:33 AM -
How to get correct opening blance data for the quarterly report in BOFC?
Hi all,
I have a problem with getting the opening balance for the quarterly report.
i would like to keep the beggining balance data for the end of previouse year. (eg: now is 2010, then keep the begginig balance at Dec.2009 for each quarterly reporrt through the year in 2009).
however, for example in the second quarter, if i choose the beggining balance of Dec.2009 in the Consolidation definition, there is a problem that consolidation FS does not include the manual journal entry that ive entered at the first quarter such as goodwill.
Do I need to make manual journal entry at all the quarterly reporting period if I want to set the beggining balance for the previouse year end?
Could somebody please tell me how to remediate to this issue?
Or how do you manage with the opening balance in BOFC?
Thanks & Regards,
HitomiHi Michael,
HRMS appliocation
database 10.2.0.4
windows XP
ebs 11.5.10.2
One of our user using disooverer 4i desktop and administration edition on old windows 2000 machine and connecting to schema.
We are decommision old windows 2000 machine.
I have installed disooverer 4i desktop and administration edition on new windows XP VM box and trying to connect to same schema which was used with old
desktop and asking me to create EUL. What is theat I should be doing to use new one same as old one?
Old box is still there.
Thanks. -
How to get denomination of Notes ? for the amount paid
Dear Freinds
i have requirement where the total amount obtained by a employee through Cash . They wanted to have denomination
for the amount paid ito that employee
ex : An X employee got RS.5550 rupees as cash. They wanted to know how much money has been paid in Denomination
of 10 Rupee notes,20 Rupee notes,50 Rupee notes,100 Rupee note,500 Rupee note & 1000 Rupee notes.
so the data has to be displayed should be
since the employee is gettign 5550 --> it has to 1000*5 --> Five Thousand rupees notes --- 5 count should come
500 will be paid as ---> 500 * 1 -
Five hudress count is 1
50 is the balance -
it will be paid as fivty note -- Count is 1.
so i have to get 5000------ count 5 , 500 count 1,50 count 1. Can any one go this type of denomination doing code please
let me know how to proceed.
Regards
divya
Edited by: Divya Kumari on Jul 8, 2011 2:18 PMActually
the scenario is that in some employees ( if you go employee subgroup) like daily labour and casual labours will be paid
on daily bais for them they will not be paid to bank . I n that case those type of employees will be paid by CASH. So in teh month end the company wanted to knwo what type and how much money paid .
regards
divya -
How to get Implicit Dimensions/Dimension Values in the result set?
Hi All,
How does endeca return implicitly selected dimensions in the result set? For example, consider a dimension set up for Television data as below.
Brand
Samsung
LG
Philips
Type
LEDs
LCDs
Plasma
Lets say, I refine the result set by brand, by selecting Philips. Now lets assume that there were 2 results returned for philips and both the results were of Type - Plasma. In this case, Endeca does not return the Type dimension in the result set, as we cannot drill down the 2 results further based on LED or LCD.
How does Endeca return these implicit dimensions in the result set in such scenarios? Suppose if there was a requirement to show to the user that both the results were of Type - Plasma, how do we get this information from Endeca, by default?
Thanks in advance :)How does Endeca return these implicit dimensions in the result set in such scenarios?Check out: Navigation.getCompleteDimensions() or Navigation.getCompleteDimGroups()
http://docs.oracle.com/cd/E28910_01/PresentationAPI.622/apidoc/javadoc/navigation/index.html
Maybe you are looking for
-
Disk utility crashes every time I try to run it. Help!
My Macbook (late 2008 aluminum unibody running Snow Leopard 10.6.8) is having a plethora of problems - Spotlight won't return any results, I can't get any .dmg files to mount, and software updates can't be installed. Many of the solutions I've found
-
I am working on PO Upload. Initially I thought of going for LSMW but I come across various hurdles like different number of line items, updating different header texts and updating item header texts. Please advice is it possible to do that in LSMW us
-
Hi Experts, I Am Tina Wilson,and basically an ABAP Programmer for the past one year.I did went through the hottest article about the Classical ABAPers... Quite worried.Actually i was on plan to shift from ABAP to anyother within SAP, but was not qui
-
Hi, Experts, I'd like to input Budget data for Y2009. I go to 'Financials' -> 'Budget Setup' -> 'Budget'. Then, I select the Scenario 'Main Budget - 01/01/2009'. -> I select 'Manual' as the method. -> the word 'Manual' is shown in red -> when I click
-
Validating an action expression
How can I check programmatically that an action exists in the faces context? I am writing a JSF application that builds itself at runtime based on database-stored settings. Our less experienced developers will use a configuration wizard (also a part