Doubt on XLA Logholds
Hi,
Please tell me when will XLA logs start getting holded in ttlogholds output.
Im clear with replication logs and checkpoint logs, but want to know at which stage XLA logs will start growing.Is it that the corresponding application should delete the XLA bookmarks frequently.
Best regards
Pratheej
Pratheej,
In your XLA application, it should be calling ttXlaAcknowledge periodically to move the bookmarks after XLA records have been processed and you don't intend to go back to re-read the log records.
When you call ttXlaAcknowledge, your XLA bookmark will be reset and move forward, allowing the log file to be purged. You don't need to call ttXlaAcknowledge for every record, the frequency depends on the transaction log volume.
If you haven't already, I recommend reading the Best Practices Guide, particularly the XLA section on how to maximize your application performance.
-scheung
Similar Messages
-
11i to R12 Upgrade- Doubt in XLA tables
Hi All,
I am migrating the 11i AP reports to R12..
In the below query I have commented the obselete and changed 11i columns & tables , but I wasnt able to find the alternate column in WHERE clause for 2 columns in xla_ae_lines and 1 in xla_ae_headers.
I have marked the ones for which I didn't find the alternate column in red
SELECT c.check_id,
to_char(c.check_number) check_num ,
i.invoice_id,
i.invoice_num,
c.amount,
ael.accounted_dr accounted_dr,
ael.entered_dr entered_dr,
&p_flexdata4 c_flexdata4,
aeh.accounting_date check_date,
c.doc_sequence_value voucher_number,
--ael.ae_line_type_code acct_line_type,
ael.accounting_class_code acct_line_type,
l3.displayed_field acct_line_type_name,
ael.code_combination_id code_combination_id,
ael.description comments ,
v.segment1 vendor_num,
v.vendor_name vendor_name,
vs.vendor_site_code third_party_sub_name,
c.check_date trx_date ,
c.check_number trx_number_n,
c.bank_account_name bank_account_name,
abb.bank_name,
aba.bank_account_num
FROM
--ap_bank_accounts_all aba,
--ap_bank_branches abb,
ce_bank_accounts aba,
ce_bank_branches_v abb,
ap_invoice_distributions_all d,
ap_invoices_all i,
ap_invoice_payments_all p,
ap_checks_all c,
--ap_accounting_events_all ae,
--ap_ae_headers_all aeh,
--ap_ae_lines_all ael,
xla_events ae,
xla_ae_headers aeh,
xla_ae_lines ael,
xla_transaction_entities xte,
ce_statement_lines sl,
--ce_statement_headers_all sh,
ce_statement_headers sh,
ce_statement_reconcils_all csr,
--po_vendor_sites_all vs,
--po_vendors v,
--ap_tax_codes AT,
ap_supplier_sites_all vs,
ap_suppliers v,
zx_lines zl,
rcv_shipment_headers rsh,
po_releases_all pr,
po_headers_all ph,
po_distributions_all pd,
rcv_transactions rct,
gl_je_categories jc,
gl_daily_conversion_types glct,
fnd_document_sequences fd,
fnd_document_sequences fd2,
ap_lookup_codes l1,
ap_lookup_codes l2 ,
ap_lookup_codes l3 ,
ap_lookup_codes l4 ,
ap_lookup_codes l5 ,
ap_lookup_codes l6,
ap_lookup_codes l7,
ap_lookup_codes l8 ,
ap_lookup_codes l9 ,
ap_lookup_codes l10 ,
ap_lookup_codes l11 ,
ap_lookup_codes l12,
ap_lookup_codes l13,
gl_code_combinations gcc1
WHERE c.bank_account_id =aba.bank_account_id
--AND aba.bank_branch_id =abb.bank_branch_id
AND aba.bank_branch_id =abb.branch_party_id
AND ael.code_combination_id =gcc1.code_combination_id(+)
AND l1.lookup_code = c.payment_method_lookup_code
AND l1.lookup_type = 'PAYMENT METHOD'
AND l2.lookup_code(+) = d.line_type_lookup_code
AND l2.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
--AND l3.lookup_code = ael.ae_line_type_code
AND l3.lookup_code = ael.accounting_class_code
AND l3.lookup_type = 'AE LINE TYPE'
--AND l4.lookup_code = aeh.gl_transfer_flag
AND l4.lookup_code = aeh.gl_transfer_status_code
AND l4.lookup_type = 'POSTING STATUS'
AND l5.lookup_code = ae.event_type_code
AND l5.lookup_type = 'EVENT TYPE'
--AND l6.lookup_code(+) = aeh.accounting_error_code
AND l6.lookup_type(+) = 'ACCOUNTING ERROR TYPE'
--AND l7.lookup_code(+) = ael.accounting_error_code
AND l7.lookup_type(+) = 'ACCOUNTING ERROR TYPE'
AND l8.lookup_code = 'Payments'
AND l8.lookup_type = 'POSTING CATEGORY'
--AND l9.lookup_code(+) = ael.gl_transfer_error_code
AND l9.lookup_type(+) = 'POSTING EXCEPTIONS'
AND l10.lookup_code = 'EVENT'
AND l10.lookup_type = 'VIEW_ACCOUNTING'
AND l11.lookup_code = 'LINE'
AND l11.lookup_type = 'VIEW_ACCOUNTING'
AND l12.lookup_code = 'APPLIED_TO'
AND l12.lookup_type = 'VIEW_ACCOUNTING'
AND l13.lookup_code = 'BANK_STATEMENT'
AND l13.lookup_type = 'VIEW_ACCOUNTING'
--AND AT.tax_id(+) = ael.tax_code_id
AND i.invoice_id = zl.trx_id(+)
AND zl.entity_code = 'AP_INVOICES'
--AND jc.je_category_name = aeh.ae_category
AND jc.je_category_name = aeh.je_category_name
AND rsh.shipment_header_id = rct.shipment_header_id
AND d.rcv_transaction_id = rct.transaction_id
AND pr.po_release_id(+) = pd.po_release_id
AND ph.po_header_id(+) = pd.po_header_id
AND pd.po_distribution_id(+) = d.po_distribution_id
AND ael.currency_conversion_type = glct.conversion_type(+)
AND c.doc_sequence_id = fd.doc_sequence_id
AND sh.doc_sequence_id = fd2.doc_sequence_id
--AND ael.third_party_sub_id = vs.vendor_site_id
--AND ael.third_party_id = v.vendor_id
AND ael.party_site_id = vs.vendor_site_id
AND ael.party_id = v.vendor_id
AND i.invoice_id(+) = p.invoice_id
--AND c.check_id = ae.source_id
--AND ae.source_table = 'AP_CHECKS'
--AND ae.accounting_event_id = aeh.accounting_event_id
--AND aeh.ae_header_id = ael.ae_header_id
AND i.invoice_id = xte.source_id_int_1
AND xte.entity_code = 'AP_CHECKS'
AND aeh.ae_header_id = ael.ae_header_id
AND aeh.application_id = ael.application_id
AND aeh.event_id=ae.event_id
AND aeh.application_id = ae.application_id
AND ae.entity_id=xte.entity_id
AND ae.application_id = xte.application_id
AND sl.statement_header_id = sh.statement_header_id(+)
AND csr.statement_line_id = sl.statement_line_id(+)
AND c.check_id = csr.reference_id(+)
AND csr.reference_type = 'PAYMENT'
AND csr.current_record_flag(+) = 'Y'
AND decode(ael.source_table,'AP_INVOICE_PAYMENTS', ael.source_id,NULL) = p.invoice_payment_id(+)
AND decode(ael.source_table,'AP_INVOICE_DISTRIBUTIONS', ael.source_id,NULL) = d.invoice_distribution_id(+)
AND ael.accounted_dr IS NOT NULL
AND (v.segment1 = :p_vendor_code
OR :p_vendor_code IS NULL)
AND (v.vendor_name = :p_vendor_name
OR :p_vendor_name IS NULL)
AND (abb.bank_name = :p_bank_name
OR :p_bank_name IS NULL)
AND (c.currency_code = :p_currency
OR :p_currency IS NULL)
AND (c.doc_sequence_value = :p_doc_sequence_value
OR :p_doc_sequence_value IS NULL)
AND (i.pay_group_lookup_code = :p_paygroup
OR :p_paygroup IS NULL)
AND ( c.check_date IS NULL
OR trunc(c.check_date) = nvl(:p_payment_date, trunc(c.check_date)))
Thanks and Regards,
MadonnaHi Cheryl,
Thank you for the reply..
It would be nice if you could illustrate with a sample code..
Thanks and Regards,
Madonna -
hi i have a doubt....
in fbl1n transaction, there are open items and cleared items.
in it the cleared items for certain document types such as invoice etc is not present in the open item table (bsik)
however the cleared items for document types such as general voucher its present in the open items table (bsik)
is this possible as all cleared item entries shld b present in the open item table with an indicator set for cleared or not...
plz exlain!Hi
There are 2 tables(open and Closed Items) in FI for Account Payables and Account Receivables and GL accounts
1.Account payables: BSIK is Open Items and BSAK is Closed items
2.Account Receivables; BSID and BSAD for OPEN and closed items
3/GL accounts : BSIS and BSAS for Open and Closed Items
<b>Reward points for useful Answers</b>
Regards
Anji -
Doubt in creation of a new object
Hi All,
I have one doubt in creation of a new object.If a new object is to be created and it is not a subtype
of any existing object, then what should we enter in the Program field for creating the object?
I hope I am clear with my question.
Thanks in Advance,
Saket.Hi Saket,
Following will be required for created a custom business object.
1. Object Type - ZTEST (Internal Techincal Key)
2. Object Name - ZTESTNAME (Technical Key Name)
3. Name - TEST (Name of BO, it is used while selecting the object type)
4. Description - (Short Description of BO)
5. Program - ZTESTPROGRAM (ABAP program in which the methods of the object type are implemented)
6. Application - A or B.. etc (Area to which your BO is related)
Please remember that you can learn these basic things by giving F1 help on those fields and in HELP.SAP.COM.
Regards,
Gautham Paspala -
Hi Everyone,
Can we read and validate the attachment of the mail.If so how to do it.
Thanks in advance,
SakthiHi Sakthi,
Please refere the below links:
http://help.sap.com/saphelp_nw2004s/helpdata/en/ad/bf93409c663228e10000000a1550b0/frameset.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/0d/52b240ac052817e10000000a1550b0/frameset.htm
Let me know if you have any doubts regarding this.
Thanks,
sekhar. -
PI' RFC Connection pool doubt.
Hi PI exports:
i have a doubt about pi' RFC Connection pool ,pi RFC receive channel can set the conn pool size ,but when start the rfc receiver channel ,is there always only one Connection pool ,or there is only one Connection pool instance?
thinks
Edited by: kevin liang on Oct 19, 2009 6:45 AMHi,
Connection poolins size means how many number of connection you want to make open to send data to ECC, We can define maximum number of connection in Receiver RFC Adapter,Go to additional parameters section and define Max Number of connection give the number there,thats it.Internally it works as Connection poolin mechanism.
Regards,
Raj -
Small Doubt Regarding SY-MANDT
Hi All,
SELECT changenr FROM cdhdr CLIENT SPECIFIED INTO CORRESPONDING FIELDS OF TABLE it_cdhdr
WHERE mandant = syst-mandt
AND objectclas = 'MATERIAL'
AND objectid = wa_matl-matnr
AND tcode = 'MM02'.
I have written the select stament as shown above.
In this i have a doubt like adding a field sy-mandt in the where condition will increase the Efficiency of program or not.
regards,
raghu.Hi..
No doubt the efficency would be affected but from business point of view there will many things that need to be checked as in:
If you are viewing data from CDHDR and CDPOS which is client specific then you are not viewing complete data.
These tables give us and document changes made to a particular object in SAP but if anything is cross client like company code(lets assume) then changes to it wont be visible in all the clients..
so there can be some key information you can miss out while working on some of the objects.
else in this case its good to make query cross client.
regards
vishal -
Doubts with control break statements on internal table loops (AT/ENDAT)
Hi, i've had a couple of doubts for a long while which I hope someone can clarify today:
1) I know how to use the AT statements, however, i'm not sure I get correctly what this part of help regarding this commands means:
<i>"The control level structure with internal tables is static. It corresponds exactly to the sequence of columns in the internal table (from left to right). In this context, the criteria according to which you sort the internal table are unimportant."</i>
I've always sorted the internal table before the control break and it works that way. For example:
SORT ITAB BY EBELN EBELP.
LOOP AT ITAB.
AT NEW EBELN.
* Code for the order header
ENDAT.
ENDLOOP.
If I <b>don't</b> sort the internal table, it doesn't work! (i get dupplicated processing). In the example, if i have more than one register with the same EBELN and they're not consecutive, the header gets processed twice. I really don't get that part of the help text.
2) I know this: <i>"At the start of a new control level (i.e. immediately after AT), the following occurs in the output area of the current LOOP statement:
All character type fields (on the right) are filled with "*" after the current control level key.
All other fields (on the right) are set to their initial values after the current control level key."</i>
My doubt is: WHY is that this way? Because sometimes (most times) I need those fields INSIDE the statement! So when that happened i've solved it in one of three ways:
LOOP AT ITAB INTO WA_ITAB.
WA_ITAB_AUX = WA_ITAB.
AT NEW FIELD.
WA_ITAB = WA_ITAB_AUX.
* ...Rest of the code for the first register
ENDAT.
ENDLOOP.
LOOP AT ITAB INTO WA_ITAB.
AT NEW FIELD.
READ TABLE ITAB INDEX SY-TABIX INTO WA_ITAB.
* ...Rest of the code for the first register
ENDAT.
ENDLOOP.
* (Without AT)
LOOP AT ITAB INTO WA_ITAB.
IF WA_ITAB-FIELD <> FIELD_AUX.
FIELD_AUX = WA_ITAB_FIELD.
* ...Rest of the code for the first register
ENDIF.
ENDLOOP.
Is there any problem with this way of coding? Can be done better?
Thank you very much in advance.Hi..,
1)
See if u sort the table on a field on which u r using AT ENDAT .. then all the records which are having the same value for that field will form a group or those reocrds will be at one place.. so when u sort the table for all the records AT ENDAT will get executed onli once..
If u dont sort this table on this field then all these records will be at different places and in between there may be records with different value for this field.. so this AT ENDAT will get executed for each record !!
2)
No u cannot use the Right hand fields of the field in the table .. Because these AT events work as Group based operations... So till that field on which AT ENDAT is working it breaks that record into two groups.. One is the left hand fields including that field.. and right hand fields as another group.. and makes the right hand group as stars ****. Thats y u can observe that even any one field in the left hand group changes the AT ENDAT will get executed !!!!
Hope u understood !!!
regards,
sai ramesh -
CREATE PACKAGE EMP_PKG AS
CURSOR EMP_CUR IS
SELECT EMPNO,DEPTNO,SAL,HIREDATE
FROM EMP
WHERE DEPTNO=30;
PROCEDURE P_EMP;
PROCEDURE P_GET_SAL(V_EMPNO NUMBER);
PROCEDURE P_GET_LOC(V_EMPNO NUMBER);
Now inside my Package Body
INSIDE THE MAINPROCEDURE P_EMP
I WILL BE CALLING THE BELOW TWO PROCEDURES
PROCEDURE P_EMP
BEGIN
FOR I IN EMP_CUR LOOP
P_GET_SAL(I.EMPNO);-- DO I NEED TO LOOP AGAIN IN P_GET_SAL PROC?
P_GET_LOC(I.DEPTNO);
END LOOP;
END;
NOW WHAT IAM DOING IS
in my P_GET_SAL Procedure is
PROCEDURE P_GET_SAL(V_EMPNO NUMBER)
V_SAL EMP.SAL%TYPE;
BEGIN
FOR I IN EMP_CUR LOOP
SELECT SAL INTO V_SAL FROM EMP
WHERE EMPNO=I.EMPNO --DOUBT HERE
END;
I WANT TO KNOW WHETHER I NEED TO LOOP AGAIN
HERE OR INSTEAD OF THAT
PROCEDURE P_GET_SAL(V_EMPNO NUMBER)
V_SAL EMP.SAL%TYPE;
BEGIN
SELECT SAL INTO V_SAL FROM EMP
WHERE EMPNO =V_EMPNO;
END;
SINCE iam calling V_EMPNO WITH CURSOR FROM MY
MAINPROCEDURE ..
WILL THE PROCEDURE USES THE CURSOR VALUES
AND LOOP ITSELF FOR EVERY EMPLOYEE TO
GET THE SALALRY ?
PLEASE LET ME KNOW SINCE MY PACKAGE IS MORE THAN 3000
LINES I cant proceed unless its confirmed i can
do so ..Hi all,
Thanks for Looking into my Problem
I Got answer by MySelf ..i dont need to loop again my sub procedures
if i try to do that iam getting the error
ERROR at line 1:
ORA-06511: PL/SQL: cursor already open
Thank you all once again .. -
Doubt on Rows and Coloums in BEx Query Designer.
Hello, Experts.
I have a Doubt in BEx Query Designer.
In the Rows I have a Fiscal year Period, if the user enters the Fiscal year period for e.g. : 001/2006 .
in the columns i have forecast for the Fiscal year period which user entered ( 001/2006 ), and we have another column pervious ( Prior )fiscal year period ( 001/2005 ).
My Questions is , as we are Restricting with 001/2006 will the query retrieve the values of 2005 or not?
Thanks in Advance .
Sharpyes i am Doing Offest.
I moved this Fiscal year Period to Free char, and i Restricted with Pervious Fical Year period and Fical year period . it worked. but
when i kept this in Rows and deleted Previous Fiscal Year period . it is displaying blanks. in prior years forecast.
is it because i am Ristricting it to only fical year period which user entered
Colums--> Forcast ( User Entered year ) Prior year
Rows
Fiscal year period
Fiscal year period( user enterd )
Thanks -
Doubt regarding facebook integration for windows phone 8.1 silverlight app?
Hi,
I am developing a windows phone 8.1 silverlight application . For my application I integrated the facebook login. For this facebook integration I used the login with facebook app method.
My doubt is after getting the app id from the dev center , I updated the appid at developers.facebook.com , wmmanifest.xml (In extensions protocol (msft-appid without dashes)) . Or do I need to change the product id in the place holder also , I tried to
change the productid also but I am getting error like some signature is wrong try with different signature. I am confused how to do it .
Any help,
Thanks...
Suresh.MHi Suresh,
According to your description, I assume you want to complete facebook configuration in windows phone silverlight app. Please refer to the following link to see how.
http://facebooksdk.net/docs/phone/config/.
You can find code sample from
https://github.com/facebook-csharp-sdk/facebook-winclient-sdk/tree/master/Samples.
Facebook API is third-party library and it is our of our support range. You can post questions on here.
https://github.com/facebook-csharp-sdk/facebook-winclient-sdk/issues.
Regards,
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. Click HERE to participate
the survey. -
Dear Gurus,
i have a doubt regarding use of infoset in BI.
An infoset consist of , on the left, a DSO containing line items loaded from R/3.
On the right is a master data attribute loaded data from a user defined datasource based on a transparent table in r/3.
This master data has a single Key. Its a numeric like serial number field.
The transaction data in the DSO also has this field as part of the transaction data field (non-key).
A Left Outer Join is made between the 2 using several fields joining together. However, the key field in the master data is not joined even though both sides has it. Both this field in each are not joined.
So, by theory of a left outer join, All data not found in the master data will still be selected via the infoset.
I wish to understand :
1. by a 'join' does it mean its not a union? I assume so. But based on the meaning of left outer join, it sounds to me like a union?
Correct me if i am wrong.
2. what is the effect of not joining the master data key field to the same field found in the data part of the transaction data?
best regards
Basshi,
point 1:
am i right to say
If all data on the left is picked, and some latest data in the master data is not found in the left, only all the left side data is displayed am i right? so, what is not in the right (master data attr) will not be selected by the infoset?
left outer join will be more clear with an example to you, suppose you are joining cube and master data to pick attribute value from master data. let us say the master data has below value.
master data attribute
100 ABC
102 XYZ
103 DEF
Now in cube you have data
cube field
100
101
105
106
the infoset wll be returning the value as shown below for different scenarios
left outer join: all values in cube.
field attribute
100 ABC
101 # (no value in master data)
105 # (no value in master data)
106 # (no value in master data)
Inner join: common records
field attribute
100 ABC
Right outer join
field attribute
100 ABC
102 XYZ
103 DEF
point 2:
am i right to say
its just slower performance and the rest being similar effect as joining the key field?
So, if i join the key field it will be faster and the result is the same as not joining the key field of the master data to the transaction data?
no the join determines the amount of data it will be returning as explained above, you should define the joining conditions based on your business logic, like in the above case if the two fields should have same value and are the comparing criteria then you should join those as it would help in retrieving faster results.regards,
Arvind. -
Hi All,
I want to know the functionality of the Key Field in the DSO.
I know based on the Key Fields(Primary Key) data is pulled to DSO, but please explain me the below scenario
E.g
I have 3 records in the Extractor( Generic) and i am pulling data to DSO - Full load.
Material Qty Date
100 20 1-Jan-2010
100 30 5-Jan-2010
100 10 10-Jan-2010
In DSO i have only one Key field called 0MAT_NM (Material Number), but i have 3 records in the Extractor , shown above.
Now my Question is
On what basis data will be pulled to DSO?
Whether latest date records will be pulled to DSO or let me know correct method? because i have got material no 100
but date and Qty is different (means one time it is taking Qty - 30 and date as 1st Jan 2010, other run it is taking differnet).
Please clear my doubt.
Regards,
Nithi.in your dso you can have one record per key. keyfigures will be in addition or overwrite option. if in "addition' the value will be the sum of all the values for a given key. in 'overwrite', you'll only keep the last record written to the dso; char are always in overwrite, so you'll keep the last record written to the dso
M. -
Doubts regarding db connection with encrypted password usage in sandbox
Hi All,
We have setup the db connection using configuration file. The configuration file contains db connection information including the encrypted password.
Below are my doubts:
1. If we are going to import the ETL project in zip file directly into the sandbox can we run the graphs directly or we need to check how the password which is encrypted in configuration file will be decoded.
2. Can we directly modify the configuration file for db connection like db connection,user name and password. Suppose I want the graphs to run in some other database which is not specified in configuartion fiel .Can I directly update that?
3.Is it possible to change the encrypted password in the configuration file in the sandbox. Is it that we need to create the project in Integrator Designer, change the password using the Integrator Designer, and then copy the encrypted password into the configuration file in sandbox, or the Endeca provides a functionality to allow user to directly change the password in the sandbox on the Integrator server.
Can someone please let me know their comments on above.
Thanks in Advance.
Regards,
Amritcan someone please help me on this issue
-
Doubt in data element creation
Hi,
I have doubt in data element creation ie, there is 2 options elementary type
(domain and built-in-type) and reference type (name of the reference type &
ref to predefined type). if there is built in type here then what is the use of
built-in-type in initial screen of the table and also explain me about the use of
reference type.
with regards,
nanjunda sharmaHi!
With the use of the built-in type, you have to set always in every different data element the exact type.
With the use of the domains (pre-defined types) you just have to enter the domain name into the data element. If you have to modify the type, you can maintain it in the domain (only once) but the built in types have to modifyed in every data element (which means more work).
Domains have a little more options also, than the built in types.
Regards
Tamá
Maybe you are looking for
-
BW 7.4 Transformation error
Hi Experts, There is a change in the structure of _ty_s_TG_1 in the end routine of BW 7.4. The DATAPAKID is missing . Subroutine pool : RS_ROUTINE in BW 7.4 it is like this CLASS lcl_transform DEFINITION. PRIVATE SECTION. TYPE-POOLS: rsd, rstr.
-
IPhone home video slow on Apple TV. Fix or workaround?
Sorry to say I'm very disappointed short videos recorded on our iPhones are very slow to load to Apple TV and play on actual TV. I've read this is, generally speaking, the norm and you simply have to wait for it to load. Maybe we're naive but we just
-
Problem Downloading Extra GarageBand Loops
Just bought a new iMac and ran into a problem downloading the extra greyed out loops. The issue occurred because I upgraded GarageBand through Software Update before downloading the extra files. After the upgrade Software Update no longer gives you a
-
ISA ERP Sales Order takes wrong sales area
Hi experts!! I am facing a very strange issue: I have configured my eshop(B2B scenario, ERP edition) for 1000 10 10 sales area. So far everything was fine until some customers were extended to 1000 20 20 sales area, and now SOME sales orders for thos
-
Hi, this is a repeat post but maybe no-one noticed it when I posted it several months ago: I have problems with filenames of downloaded pdfs. I download pdfs from the internet, and my computer corrupts the filenames. For example, it replaces all the