Apply Receipt against Invoice through Auto Invoice Program
Please explain how to accomplish this process - Apply Receipt against Invoice through AutoInvoice Program.
Regards,
Abhishek
I would check to see if you have any corresponding records in ra_interface_distributions_all.
If you are populating ra_interface_distributions_all with gl code combination data, whatever you populate in this table will take precedence over your Auto Accounting rule.
Regards,
James Kim.
Similar Messages
-
Hello all,
We Have Oracle EBS R12.
There are many invoices already entered to the application.
There are more than 1000 Check (Receipts) already entered in the application, also there are 1000 Credit memo's Entered in the application.
As there are no enough time to apply them one by one, Is there any thing (request, API ...) that can help in Applying those Receipts with invoices, and those
Credit Memo's with invoices.
As for applying receipts with invoice i tried the following procedure but it there are problem when applying 1 receipt with more than invoices, example
receipt = 7000, invoice1=5000, invoice2= 3000. It apply 5000 with invoice1, but the remaining = 2000 doesn't apply with invoice2.
CREATE OR REPLACE PROCEDURE xx_ar_receipt_apply_b (
cr_rec_id IN NUMBER,
rec_amount IN NUMBER,
rec_no IN VARCHAR2,
cus_id IN NUMBER
AS
l_return_status VARCHAR2 (1);
l_installment NUMBER;
l_msg_count NUMBER;
l_msg_data VARCHAR2 (240);
cash_receipt_id NUMBER;
inv_no NUMBER;
inv_date DATE;
inv_amount NUMBER;
new_amt NUMBER;
rec_amt NUMBER;
payment_id NUMBER;
--- Define cursor c ---------
CURSOR c
IS
SELECT ct.trx_number inv_no, rac.amount_due_remaining inv_amount,
rac.payment_schedule_id payment_id, ct.trx_date inv_date,
rac.terms_sequence_number l_installment
FROM ar_payment_schedules_all rac, ra_customer_trx_all ct
WHERE rac.customer_trx_id = ct.customer_trx_id
AND ct.bill_to_customer_id = cus_id
AND RAC.CLASS = 'INV'
AND rac.amount_due_remaining > 0
ORDER BY ct.trx_date, rac.payment_schedule_id;
BEGIN
DBMS_APPLICATION_INFO.set_client_info (102);
fnd_global.apps_initialize (1374, 20678, 222);
mo_global.init ('AR');
mo_global.set_policy_context ('S', 102);
new_amt := 1000;
FOR REC_INV IN C
LOOP
IF new_amt > REC_INV.inv_amount
THEN
BEGIN
ar_receipt_api_pub.APPLY
(p_api_version => 1.0,
p_init_msg_list => fnd_api.g_true,
p_commit => fnd_api.g_true,
p_validation_level => fnd_api.g_valid_level_full,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
p_receipt_number => rec_no,
p_cash_receipt_id => cr_rec_id,
p_trx_number => REC_INV.inv_no,
p_amount_applied => REC_INV.inv_amount,
p_installment => REC_INV.l_installment,
p_applied_payment_schedule_id => REC_INV.payment_id
new_amt := new_amt - inv_amount;
END;
END IF;
IF new_amt <= REC_INV.inv_amount
THEN
BEGIN
ar_receipt_api_pub.APPLY
(p_api_version => 1.0,
p_init_msg_list => fnd_api.g_true,
p_commit => fnd_api.g_true,
p_validation_level => fnd_api.g_valid_level_full,
x_return_status => l_return_status,
x_msg_count => l_msg_count,
x_msg_data => l_msg_data,
p_receipt_number => rec_no,
p_cash_receipt_id => cr_rec_id,
p_trx_number => REC_INV.inv_no,
p_amount_applied => new_amt,
p_installment => REC_INV.l_installment,
p_applied_payment_schedule_id => REC_INV.payment_id
new_amt := 0;
END;
END IF;
IF new_amt = 0
THEN
EXIT;
END IF;
END LOOP;
END LOOP;
END IF;
arp_standard.disable_debug;
END;
Thanks in advance.
Edited by: 858923 on May 14, 2011 12:56 PMhow do you create your receipt? if you are using lockbox, you can specify invoice number(s) so that the receipt will be applied to the invoices after creation.
-
Clear Down payment against Vendor Invoice through Automatic Payment Program
Hi
We have to adjust vendor invoice against down payment (Advance) made through automatic payment program (F110)
Please guide us is there any configuration require to consider Down payment transactions during F110 to clear against Vendor Invoice
Ex :1. Advance payment made through special GL indicator 50K.
2. Invoice document 75K posted in vendor.
3. Now we have to clear down payment made (50K) against 75K through F110.
Regards
SreenivasuluHi srinivasulu,
First u create down payment request through F-47 and define the spl gl indicator for down payment and assign the gl account for down payment gl code..
Regards,
Nivas -
Multiple POs Receipt against a single Receipt as per Supplier Invoice
Dear All,
We were using the ERS (Autoinvoice) for suppliers.
We have a special scenario:
We send PO to Supplier. and the Supplier send the Goods for Multiple POs in a Single Supplier Invoice.
The Issue is:
Can we receive all the Supplier Invoice items (belonging to different POs) in a single receipt. So that we can generate one invoice through ERS, which can be matched against the Supplier invoice.
Is this possible? If Yes, How can we accomplish this..?
Please update....
Many thanks in advance....Hi Jeyakanthan,
Thanks for the reply.
I have gone thru the "Multiple Goods Receipts for a Single Excise Invoice " in Sap Help Documentation, what I have understood is that we can do multiple Goods Receipt against a Single Invoice. Here in this case we do the Goods Receipt against Purchase Order , do the Invoice Capture for first goods receipt againts Purchase Order and we enter the Invoice Number (say 745, sent by the Vendor) while capturing excise invoice. When the second shipment (against the same PO) comes, we do goods receipt and we refer the "Only Refer Excise Invoice" while doing the goods receipt. Finally after when we have entered all the shipments for the PO, we do the Excise Posting.
Here in our case we have already posted the Goods Receipt (without entering the Invoice Number in first goods receipt) and now we want to capture & post excise invoice for a Single Excise Invoice (Invoice No. say 745,).
Please correct me if my understanding is wrong.
Here we have got two options:
a. Reverse all the goods receipt & re-enter the goods receipt .
b. post two separate excise invoice against each goods receipt mentioning dummy excise invoice number like 745-A & 745-B.
Option a seems difficulty as we will have to reverse all the subsequent goods receipt & transfer posting documents.
Option b seems legally wrong, as per understanding.
Request you to please advise.
Regards
PK -
Sales order line with status calcelled picked by auto invoice program
I cancelled one line in Sales Order and Shipped remaining lines
after Ship Confirm process ,I ran workflow background process.
I am getting cancelled line information to AR interface tables
when I run Auto invoice amount is sitting in Unearned account
The status of cancelled line - Cancelled
Flow status code is cancelled
INVOICE_INTERFACE_STATUS_CODE I AM SEEING is YES for that line.
Why the cancelled Sales order line is picked by auto invoice program?
Thanks,
JohnHi Ivruksh,
Thanks for the reply, the reference you gave was not actually related to the issue I had, let me put it this way,
Our Auto Invoice Job is scheduled at midnight, it runs and process only few CM's, rest of them are left behind with out any error message in error tables. Al I can see in the ra_interface_lines_all table is interface_line_id is populated, which shows that the Auto Invoice program has picked all the records but it is processing only few, the rest are left out with out any error message.
Interestingly, when I tried to run those stuck CM's Individual one by one its gets successfully processed.
Is anyone faced with similar kind of issue, kindly let me know of any solutions you guys had.
Thanks in advance.
Regards
Srinivas -
Auto Invoice Program taking too much time : problem with update sql
Hi ,
Oracle db version 11.2.0.3
Oracle EBS version : 12.1.3
Though we have a SEV-1 SR with oracle we have not been able to find much success.
We have an auto invoice program which runs many times in the day and its taking too much time since the begining . On troubleshooting we have found one query to be taking too much of the time and seek suggestion on how to tune it. I am attaching the explain plan for the for same. Its an update query. Please guide.
Plan
UPDATE STATEMENT ALL_ROWSCost: 0 Bytes: 124 Cardinality: 1
50 UPDATE AR.RA_CUST_TRX_LINE_GL_DIST_ALL
27 FILTER
26 HASH JOIN Cost: 8,937,633 Bytes: 4,261,258,760 Cardinality: 34,364,990
24 VIEW VIEW SYS.VW_NSO_1 Cost: 8,618,413 Bytes: 446,744,870 Cardinality: 34,364,990
23 SORT UNIQUE Cost: 8,618,413 Bytes: 4,042,339,978 Cardinality: 34,364,990
22 UNION-ALL
9 FILTER
8 SORT GROUP BY Cost: 5,643,052 Bytes: 3,164,892,625 Cardinality: 25,319,141
7 HASH JOIN Cost: 1,640,602 Bytes: 32,460,436,875 Cardinality: 259,683,495
1 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 154,993 Bytes: 402,499,500 Cardinality: 20,124,975
6 HASH JOIN Cost: 853,567 Bytes: 22,544,143,440 Cardinality: 214,706,128
4 HASH JOIN Cost: 536,708 Bytes: 2,357,000,550 Cardinality: 29,835,450
2 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 153,008 Bytes: 1,163,582,550 Cardinality: 29,835,450
3 TABLE ACCESS FULL TABLE AR.RA_CUSTOMER_TRX_LINES_ALL Cost: 307,314 Bytes: 1,193,526,000 Cardinality: 29,838,150
5 TABLE ACCESS FULL TABLE AR.RA_CUSTOMER_TRX_ALL Cost: 132,951 Bytes: 3,123,197,116 Cardinality: 120,122,966
21 FILTER
20 SORT GROUP BY Cost: 2,975,360 Bytes: 877,447,353 Cardinality: 9,045,849
19 HASH JOIN Cost: 998,323 Bytes: 17,548,946,769 Cardinality: 180,916,977
13 VIEW VIEW AR.index$_join$_027 Cost: 108,438 Bytes: 867,771,256 Cardinality: 78,888,296
12 HASH JOIN
10 INDEX RANGE SCAN INDEX AR.RA_CUSTOMER_TRX_N15 Cost: 58,206 Bytes: 867,771,256 Cardinality: 78,888,296
11 INDEX FAST FULL SCAN INDEX (UNIQUE) AR.RA_CUSTOMER_TRX_U1 Cost: 62,322 Bytes: 867,771,256 Cardinality: 78,888,296
18 HASH JOIN Cost: 748,497 Bytes: 3,281,713,302 Cardinality: 38,159,457
14 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 154,993 Bytes: 402,499,500 Cardinality: 20,124,975
17 HASH JOIN Cost: 519,713 Bytes: 1,969,317,900 Cardinality: 29,838,150
15 TABLE ACCESS FULL TABLE AR.RA_CUSTOMER_TRX_LINES_ALL Cost: 302,822 Bytes: 716,115,600 Cardinality: 29,838,150
16 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 149,847 Bytes: 1,253,202,300 Cardinality: 29,838,150
25 TABLE ACCESS FULL TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 157,552 Bytes: 5,158,998,615 Cardinality: 46,477,465
41 SORT GROUP BY Bytes: 75 Cardinality: 1
40 FILTER
39 MERGE JOIN CARTESIAN Cost: 11 Bytes: 75 Cardinality: 1
35 NESTED LOOPS Cost: 8 Bytes: 50 Cardinality: 1
32 NESTED LOOPS Cost: 5 Bytes: 30 Cardinality: 1
29 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUSTOMER_TRX_LINES_ALL Cost: 3 Bytes: 22 Cardinality: 1
28 INDEX UNIQUE SCAN INDEX (UNIQUE) AR.RA_CUSTOMER_TRX_LINES_U1 Cost: 2 Cardinality: 1
31 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUSTOMER_TRX_ALL Cost: 2 Bytes: 133,114,520 Cardinality: 16,639,315
30 INDEX UNIQUE SCAN INDEX (UNIQUE) AR.RA_CUSTOMER_TRX_U1 Cost: 1 Cardinality: 1
34 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 3 Bytes: 20 Cardinality: 1
33 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N6 Cost: 2 Cardinality: 1
38 BUFFER SORT Cost: 9 Bytes: 25 Cardinality: 1
37 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 3 Bytes: 25 Cardinality: 1
36 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N1 Cost: 2 Cardinality: 1
49 SORT GROUP BY Bytes: 48 Cardinality: 1
48 FILTER
47 NESTED LOOPS
45 NESTED LOOPS Cost: 7 Bytes: 48 Cardinality: 1
43 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 4 Bytes: 20 Cardinality: 1
42 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N6 Cost: 3 Cardinality: 1
44 INDEX RANGE SCAN INDEX AR.RA_CUST_TRX_LINE_GL_DIST_N1 Cost: 2 Cardinality: 1
46 TABLE ACCESS BY INDEX ROWID TABLE AR.RA_CUST_TRX_LINE_GL_DIST_ALL Cost: 3 Bytes: 28 Cardinality: 1
As per oracle , they had suggested multiple patches but that has not been helpful. Please suggest how do i tune this query. I dont have much clue of query tuning.
RegardsHi Paul, My bad. I am sorry I missed it.
Query as below :
UPDATE RA_CUST_TRX_LINE_GL_DIST LGD SET (AMOUNT, ACCTD_AMOUNT) = (SELECT /*+ index(rec1 RA_CUST_TRX_LINE_GL_DIST_N6) ordered */ NVL(LGD.AMOUNT, 0) - ( SUM(LGD2.AMOUNT) - ( DECODE(LGD.GL_DATE, REC1.GL_DATE, 1, 0) * CTL.EXTENDED_AMOUNT ) ), NVL(LGD.ACCTD_AMOUNT, 0) - ( SUM(LGD2.ACCTD_AMOUNT) - ( DECODE(LGD.GL_DATE, REC1.GL_DATE, 1, 0) * DECODE(:B2 , NULL, ROUND( CTL.EXTENDED_AMOUNT * NVL(CT.EXCHANGE_RATE,1), :B3 ), ROUND( ( CTL.EXTENDED_AMOUNT * NVL(CT.EXCHANGE_RATE,1) ) / :B2 ) * :B2 ) ) ) FROM RA_CUSTOMER_TRX_LINES CTL, RA_CUSTOMER_TRX CT, RA_CUST_TRX_LINE_GL_DIST LGD2, RA_CUST_TRX_LINE_GL_DIST REC1 WHERE CTL.CUSTOMER_TRX_LINE_ID = LGD2.CUSTOMER_TRX_LINE_ID AND CTL.CUSTOMER_TRX_ID = CT.CUSTOMER_TRX_ID AND LGD.CUSTOMER_TRX_LINE_ID = CTL.CUSTOMER_TRX_LINE_ID AND LGD2.ACCOUNT_SET_FLAG = 'N' AND REC1.CUSTOMER_TRX_ID = CT.CUSTOMER_TRX_ID AND REC1.ACCOUNT_CLASS = 'REC' AND REC1.LATEST_REC_FLAG = 'Y' AND NVL(LGD.GL_DATE, TO_DATE( 2415021, 'J') ) = NVL(LGD2.GL_DATE, TO_DATE( 2415021, 'J') ) GROUP BY CTL.CUSTOMER_TRX_LINE_ID, REC1.GL_DATE, CTL.EXTENDED_AMOUNT, CTL.REVENUE_AMOUNT, CT.EXCHANGE_RATE ), PERCENT = (SELECT /*+ index(rec2 RA_CUST_TRX_LINE_GL_DIST_N6) */ DECODE(LGD.ACCOUNT_CLASS || LGD.ACCOUNT_SET_FLAG, 'SUSPENSEN', LGD.PERCENT, 'UNBILLN', LGD.PERCENT, 'UNEARNN', LGD.PERCENT, NVL(LGD.PERCENT, 0) - ( SUM(NVL(LGD4.PERCENT, 0)) - DECODE(REC2.GL_DATE, NVL(LGD.GL_DATE, REC2.GL_DATE), 100, 0) ) ) FROM RA_CUST_TRX_LINE_GL_DIST LGD4, RA_CUST_TRX_LINE_GL_DIST REC2 WHERE LGD.CUSTOMER_TRX_LINE_ID = LGD4.CUSTOMER_TRX_LINE_ID AND REC2.CUSTOMER_TRX_ID = LGD.CUSTOMER_TRX_ID AND REC2.CUSTOMER_TRX_ID = LGD4.CUSTOMER_TRX_ID AND REC2.ACCOUNT_CLASS = 'REC' AND REC2.LATEST_REC_FLAG = 'Y' AND LGD4.ACCOUNT_SET_FLAG = LGD.ACCOUNT_SET_FLAG AND DECODE(LGD4.ACCOUNT_SET_FLAG, 'Y', LGD4.ACCOUNT_CLASS, LGD.ACCOUNT_CLASS) = LGD.ACCOUNT_CLASS AND NVL(LGD.GL_DATE, TO_DATE( 2415021, 'J') ) = NVL(LGD4.GL_DATE, TO_DATE( 2415021, 'J') ) GROUP BY REC2.GL_DATE, LGD.GL_DATE ), LAST_UPDATED_BY = :B1 , LAST_UPDATE_DATE = SYSDATE WHERE CUST_TRX_LINE_GL_DIST_ID IN (SELECT /*+ index(rec3 RA_CUST_TRX_LINE_GL_DIST_N6) */ MIN(DECODE(LGD3.GL_POSTED_DATE, NULL, LGD3.CUST_TRX_LINE_GL_DIST_ID, NULL) ) FROM RA_CUSTOMER_TRX_LINES CTL, RA_CUSTOMER_TRX T, RA_CUST_TRX_LINE_GL_DIST LGD3, RA_CUST_TRX_LINE_GL_DIST REC3 WHERE T.REQUEST_ID = :B5 AND T.CUSTOMER_TRX_ID = CTL.CUSTOMER_TRX_ID AND (CTL.LINE_TYPE IN ( 'TAX','FREIGHT','CHARGES','SUSPENSE' ) OR (CTL.LINE_TYPE = 'LINE' AND CTL.ACCOUNTING_RULE_ID IS NULL )) AND LGD3.CUSTOMER_TRX_LINE_ID = CTL.CUSTOMER_TRX_LINE_ID AND LGD3.ACCOUNT_SET_FLAG = 'N' AND REC3.CUSTOMER_TRX_ID = T.CUSTOMER_TRX_ID AND REC3.ACCOUNT_CLASS = 'REC' AND REC3.LATEST_REC_FLAG = 'Y' AND NVL(T.PREVIOUS_CUSTOMER_TRX_ID, -1) = DECODE(:B4 , 'INV', -1, 'REGULAR_CM', T.PREVIOUS_CUSTOMER_TRX_ID, NVL(T.PREVIOUS_CUSTOMER_TRX_ID, -1) ) GROUP BY CTL.CUSTOMER_TRX_LINE_ID, LGD3.GL_DATE, REC3.GL_DATE, CTL.EXTENDED_AMOUNT, CTL.REVENUE_AMOUNT, T.EXCHANGE_RATE HAVING ( SUM(NVL(LGD3.AMOUNT, 0)) <> CTL.EXTENDED_AMOUNT * DECODE(LGD3.GL_DATE, REC3.GL_DATE, 1, 0) OR SUM(NVL(LGD3.ACCTD_AMOUNT, 0)) <> DECODE(LGD3.GL_DATE, REC3.GL_DATE, 1, 0) * DECODE(:B2 , NULL, ROUND( CTL.EXTENDED_AMOUNT * NVL(T.EXCHANGE_RATE,1), :B3 ), ROUND( ( CTL.EXTENDED_AMOUNT * NVL(T.EXCHANGE_RATE,1) ) / :B2 ) * :B2 ) ) UNION SELECT /*+ index(rec5 RA_CUST_TRX_LINE_GL_DIST_N6) INDEX (lgd5 ra_cust_trx_line_gl_dist_n6) index(ctl2 ra_customer_trx_lines_u1) */ TO_NUMBER( MIN(DECODE(LGD5.GL_POSTED_DATE||LGD5.ACCOUNT_CLASS|| LGD5.ACCOUNT_SET_FLAG, 'REVN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'REVY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'TAXN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'TAXY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'FREIGHTN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'FREIGHTY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'CHARGESN', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'CHARGESY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'UNEARNY', LGD5.CUST_TRX_LINE_GL_DIST_ID, 'UNBILLY', LGD5.CUST_TRX_LINE_GL_DIST_ID, NULL ) ) ) FROM RA_CUST_TRX_LINE_GL_DIST LGD5, RA_CUST_TRX_LINE_GL_DIST REC5, RA_CUSTOMER_TRX_LINES CTL2, RA_CUSTOMER_TRX T WHERE T.REQUEST_ID = :B5 AND T.CUSTOMER_TRX_ID = REC5.CUSTOMER_TRX_ID AND CTL2.CUSTOMER_TRX_LINE_ID = LGD5.CUSTOMER_TRX_LINE_ID AND REC5.CUSTOMER_TRX_ID = LGD5.CUSTOMER_TRX_ID AND REC5.ACCOUNT_CLASS = 'REC' AND REC5.LATEST_REC_FLAG = 'Y' AND (CTL2.LINE_TYPE IN ( 'TAX','FREIGHT','CHARGES','SUSPENSE') OR (CTL2.LINE_TYPE = 'LINE' AND (CTL2.ACCOUNTING_RULE_ID IS NULL OR LGD5.ACCOUNT_SET_FLAG = 'Y' ))) GROUP BY LGD5.CUSTOMER_TRX_LINE_ID, LGD5.GL_DATE, REC5.GL_DATE, LGD5.ACCOUNT_SET_FLAG, DECODE(LGD5.ACCOUNT_SET_FLAG, 'N', NULL, LGD5.ACCOUNT_CLASS) HAVING SUM(NVL(LGD5.PERCENT, 0)) <> DECODE( NVL(LGD5.GL_DATE, REC5.GL_DATE), REC5.GL_DATE, 100, 0) )
I understand that this could be a seeded query but my attempt is to tune it.
Regards -
Multiple Goods Receipts Against Same Excise Invoice
All SAP Gurus,
We are having a scenario in which we need to do Multiple Goods Receipts Against Same Excise Invoice.
How it can be done?
Regards,During first GR in the excise header tab select "Capture excise amount".
In the excise item tab enter in the EI quantity the total qty in invoice. In the quantity tab enter the qty which is to be received.
Post the gr.
During second gr in the excise header tab select "Only refer excise invoice". -
Applying an USD invoice to an EURO Credit Memo; for receipt applications
Hello,
When trying to apply a USD invoice to a credit memo which is in EUROs it does not allow. If I have the credit memo and invoice in the same currency it works fine. Could anyone help me on this?
Navigation: AR Manager responsibility;
Transaction screen(Credit Memo)->Action(Menu)->Application(Option)
Thanks.
SivaHi Nagesh,
.1.) Is it possible for an AR Invoice to have more than one AR Credit Memo?
The credit memo is the clearing document for the invoice and for the returns. If the goods were delivered to the customer and an invoice has already been created, you can partially or completely reverse the transaction by creating a credit memo
*When I partially reversed an amount (and not the inventory), it also reversed the inventory. What I need is to reduced only the amount of the AR invoice. At some point in time, another AR Credit Memo is needed again for the same AR Invoice to further reduce its amount. Is this possible?
Using the AR Credit Memo by Service is definitely not what my client is looking for because they need the actual price per item for the AR invoice.*
2.) Is it possible for a "PAID" AR Invoice to still have a AR Credit Memo?
I dont think you can do this. Simply because payment aginst the Invoice has been made. An A/P invoice needs to be raised again.
I need to think of a workaround to do this because my client usually accepts expiring items after a few years an item was sold and paid. Any suggestion?
3.) Lastly, is it possible for an AR Invoice to reduce its amount "PER ITEM" by AR Credit Memo?
Yes because partial settlement is possible
How to go about it? I need to reduce ONLY the AMOUNT of the item in AR Invoice but the item was NOT ACTUALLY RETURNED.
Many thanks, -
Dropship_PO Receipt & AR Invoice in back date
The Business requirement is
The OU gets the Bill of Lading/Air Way Bill document offline after some time let's say within 10 days of actual Bill of Lading/Airway Bill Date. We are executing Dropshipment process. The PO receipt to be done on back date, which is the actual Bill of Lading/Air Way Bill date. The AR Invoice to be raised on the same backdated actual Bill of Lading/Air Way Bill date.
Example:
Actual Bill of Lading/Air Way Bill date: 25 Apr 2012
The documents are received on date: 05 May 2012
Dropship PO Receipt Date: 25 Apr 2012 (We will execute backdated receipt in system, on 05 May 2012 the receipt date will be entered as 25 Apr 2012)
AR Invoice Date (after Auto-import program): 25 Apr 2012
We are able to get the desired result in the open period. Just wondering, how to go about the issue when periods are closed for the last month (April).
Read that, the profile option INV:Transaction Date Validation doesn't work in case of PO receipts. Kindly advise.
With Best Regards,
Nirabh NayanHi,
Once a Inv a/c period is closed, the period close process permanantly closes the period and system will not let performing any further transactions in that closed period. period can not be reopened as well.
If you know that there are pending transactions to be made in the last month of a/c year, As an exception you can keep the last period open till all the transactions are entered into the system. Normally this is the general process followed across. Accounting period is not closed sharply on the final day of the acct period.
If you are worried about std cost update and want to have updated costs for the transactions done in new a/c year, You can enter the cut off date in the inv org parameters as the last date of previous accounting period so that the transactions of the first month of new accounting period ( in your case May ) does not get costed. Once you close the previous period, you can update the cost thru std cost update and then release the cut off date for the new period transactions to get costed at updated cost.
Prabhu Chepuri -
Backdated PO receipt and Invoice date in closed periods_Dropshipment
The Business requirement is
The OU gets the Bill of Lading/Air Way Bill document offline after some time let's say within 10 days of actual Bill of Lading/Airway Bill Date. We are executing Dropshipment process. The PO receipt to be done on back date, which is the actual Bill of Lading/Air Way Bill date. The AR Invoice to be raised on the same backdated actual Bill of Lading/Air Way Bill date.
Example:
Actual Bill of Lading/Air Way Bill date: 25 Apr 2012
The documents are received on date: 05 May 2012
Dropship PO Receipt Date: 25 Apr 2012 (We will execute backdated receipt in system, on 05 May 2012 the receipt date will be entered as 25 Apr 2012)
AR Invoice Date (after Auto-import program): 25 Apr 2012
We are able to get the desired result in the open period. Just wondering, how to go about the issue when periods are closed for the last month (April).
Heard that, the profile option INV:Transaction Date Validation doesn't work in case of PO receipts. Kindly advise.
With Best Regards,
Nirabh NayanHi,
Once a Inv a/c period is closed, the period close process permanantly closes the period and system will not let performing any further transactions in that closed period. period can not be reopened as well.
If you know that there are pending transactions to be made in the last month of a/c year, As an exception you can keep the last period open till all the transactions are entered into the system. Normally this is the general process followed across. Accounting period is not closed sharply on the final day of the acct period.
If you are worried about std cost update and want to have updated costs for the transactions done in new a/c year, You can enter the cut off date in the inv org parameters as the last date of previous accounting period so that the transactions of the first month of new accounting period ( in your case May ) does not get costed. Once you close the previous period, you can update the cost thru std cost update and then release the cut off date for the new period transactions to get costed at updated cost.
Prabhu Chepuri -
Mistakenly reversed goods receipt after invoice posted
Hi experts,
I already post this question in EAM forum, but moved to here as I think I will get more useful replies.
I have a PO that was goods receipted and invoiced receipted. Later on, the GR was reversed, and now that entry needs to be reverse... We're having a negative value in our reports that should not be there.
What would be the way to fix this? Is it OK that the goods receipted may be reversed after invoice receipted.. i.e. after an invoice has been posted? In Tx. OMBZ the Mvt. 102 has "RevGR desp. IR" unchecked.
Kind Regards,
Andres.
Original thread: Reverse goods receipt after invoice posted.Just do a GR again for the PO and this should fix your problem. The original document and reversal documents will remain there with another GR document against PO.
Unless the payment against the invoice hasnt been made, your preceding documents can be changed. Once the payment has been made, you should not be able to change any preceding document.
Edited by: Afshad Irani on May 31, 2010 9:08 AM -
Problem with the Posting Date of Goods Receipt or Invoice Receipt for PO
Hi All,
I am working on 2LIS_02_SCL - Purchasing Data (Schedule Line Level),
For our report, we should get the scheduled PO quantity,actual PO qty, Scheduled date and actual date in the report.
we are getting all these fields from the above extractor...
For a PO which is opened (Delivery Completion indicator not set) - we where getting all field as in ECC(ME23N)
But for a PO which is finished(Delivery completion indicator is set) - we where are getting actual GR qty,planned qty,planned or scheduled date at schedule line level.But we are not getting the Posting Date of Goods Receipt or Invoice Receipt for PO from history EKBE for all the schedule line.
ex:
for open PO
PO num item num schedule line Planned date actual date difference actual qty planned qty difference
450002432 10 1 01/10/2011 02/10/2011 1 day 100 100 0
2 02/10/2011 04/10/2011 2 days 200 400 200
3 03/10/2011 07/10/2011 4 days 300 300 0
For the same PO when it is Finished or completed(Delivery completion indicator is set)
PO num item num schedule line Planned date actual date difference actual qty planned qty difference
450002432 10 1 01/10/2011 07/10/2011 6 day 100 100 0
2 02/10/2011 07/10/2011 5 days 200 400 200
03/10/2011 07/10/2011 4 days 300 300 0
for all the schedule line its displaying the last posting date(i think its taking from EKKO table)
Is there any possibility to get that posting date history ....You can have multiple receipts against a PO schedule line, but this extractor is not meant to go to that level of granularity. Please try to use 2lis_02_sgr instead which provides goods receipts per PO schedule line.
-
Hi all
Let me know about Report for Goods receipt without Invoice for Purchase order? ie. PO pending for Invoice?
If anybody a report, pls send it to me. I have used 101-102, 105-106 movement types?
So any one send that reports?Hi Muthu
I am sending you one source code regarding the Goods receipt without invoice.
Pls reward pts if help.
Regards
Deepanker.
FUNCTION zrfc_vcs_get_goodsreceipt.
*& Program Name : ZRFC_VCS_GET_GOODSRECEIPT *
*& Title : Function Module for getting the GOODSRECEIPT *
*& Details *
*& Author : M.Jayasree *
*& Create Date : 21/03/2007 *
*& Logical DB : None *
*& Program Type : FM *
*& SAP Release : 4.6 *
*& Description : This is a program used for retrieving the *
*& GOODSRECEIPT Details. *
*& REVISION LOG *
*& LOG# DATE AUTHOR *
*& 0000 21/03/2007 Jayasree.M *
Tables *
TABLES : mkpf,komv,mseg.
Data declarations *
DATA: lv_suc_date TYPE d,
lv_suc_time TYPE t,
lv_fileloc TYPE char40,
lv_filename TYPE char40,
lv_date TYPE d,
lv_time TYPE t,
lv_filepath TYPE string,
lv_error TYPE char50,
lv_fileloc1 TYPE char20,
lv_filename1 TYPE char40,
lv_filepath1 TYPE string,
lv_value TYPE zvcsconfig-zvalue,
lv_value_h TYPE zvcsconfig-zvalue,
lv_value1 TYPE zvcsconfig-zvalue,
lv_fileloc_d TYPE char40,
lv_filename_d TYPE char40,
lv_filepath_d TYPE string,
lv_value_d TYPE zvcsconfig-zvalue,
lv_fileloc_d1 TYPE char40,
lv_filename_d1 TYPE char40,
lv_filepath_d1 TYPE string,
lv_value_d1 TYPE zvcsconfig-zvalue,
lv_taxamt TYPE bseg-wrbtr,
lv_elikz TYPE mseg-elikz,
lv_waers TYPE mseg-waers,
lv_emlif TYPE mseg-emlif,
lv_dmbtr TYPE mseg-dmbtr,
lv_vkwrt TYPE mseg-vkwrt,
lv_menge_acc TYPE mseg-menge,
lv_ebeln TYPE ebeln,
lv_lifnr TYPE ekko-lifnr,
lv_wkurs TYPE ekko-wkurs,
lv_ekgrp TYPE ekko-ekgrp,
lv_bsart TYPE ekko-bsart,
lv_inco1 TYPE ekko-inco1,
lv_land1 TYPE lfa1-land1,
lv_eknam TYPE eknam,
lv_knumv TYPE ekko-knumv,
lv_lifnr_t TYPE komv-lifnr,
lv_kwert TYPE kwert,
lv_changenr TYPE cdchangenr,
lv_flag TYPE c,
lv_sum_a TYPE kwert,
lv_sum_a1 TYPE kwert,
lv_sum_a1_a TYPE kwert,
lv_sum_a_a TYPE kwert,
lv_count TYPE n,
lv_wempf TYPE wempf,
lv_add TYPE kwert,
lv_werks_p TYPE werks_d,
lv_maktx TYPE maktx,
lv_wemng TYPE wemng,
lv_ebelp_b TYPE ebelp,
lv_erfmg_b TYPE erfmg,
lv_menge_r TYPE menge_d,
lv_remng TYPE remng,
lv_rewrt TYPE rewrt,
lv_wrbtr TYPE wrbtr,
lv_mwskz TYPE mwskz,
lv_wmwst TYPE wmwst,
lv_lifnr_sc TYPE lifnr,
lv_pstyp TYPE pstyp,
lv_menge TYPE menge_d,
lv_budat TYPE budat,
lv_waers_bc TYPE waers,
lv_netwr_tbv TYPE netwr,
lv_wrbtr_ai TYPE wrbtr,
lv_sum TYPE rewrt,
lv_netpr_bv TYPE netpr,
lv_etenr TYPE etenr,
lv_bstyp TYPE bstyp,
lv_grtxt TYPE grtxt,
lv_ebelp TYPE ebelp,
lv_basicv TYPE netwr,
lv_smbln TYPE mseg-smbln,
lv_waers_c TYPE ekko-waers,
lv_kwert_a TYPE konv-kwert,
lv_knumv_a TYPE ekko-knumv,
lv_knumv_a_a TYPE ekko-knumv,
lv_netwr_a TYPE ekpo-netwr,
lv_netwr_a_a TYPE ekpo-netwr,
lv_kwert_a1 TYPE konv-kwert,
lv_knumv_a1 TYPE ekko-knumv,
lv_netwr_a1 TYPE ekpo-netwr,
lv_netwr_a1_a TYPE ekpo-netwr,
lv_knumv_a1_a TYPE ekko-knumv,
lv_sum_b TYPE konv-kwert,
lv_fwnav TYPE bset-fwste,
lv_sum_b_a TYPE konv-kwert,
lv_netpr_a TYPE ekpo-netpr,
lv_erfmg_add TYPE mseg-erfmg,
lv_erfmg_add_a TYPE mseg-erfmg,
lv_netpr_a_a TYPE ekpo-netpr,
lv_netpr_a1 TYPE ekpo-netpr,
lv_netpr_a1_a TYPE ekpo-netpr,
lv_erfmg_add1 TYPE mseg-erfmg,
lv_erfmg_add1_a TYPE mseg-erfmg,
lv_menge_inv TYPE menge_d,
lv_wrbtr_inv TYPE wrbtr,
lv_netpr_tax TYPE netpr,
lv_kwert_total TYPE konv-kwert,
lv_kwert_total_a TYPE konv-kwert,
lv_kwert_total_r TYPE konv-kwert,
lv_kwert_total_r_a TYPE konv-kwert,
lv_bukrs_tax TYPE bukrs,
lv_waers_tax TYPE waers,
lv_erfmg_ret TYPE mseg-erfmg,
lv_server TYPE tsle4-server,
lv_bwart_rev TYPE mseg-bwart,
lv_erfmg_rev1 TYPE mseg-erfmg,
lv_bukrs TYPE bukrs,
lv_land1_t TYPE land1,
lv_kalsm TYPE kalsm,
lv_text1 TYPE text1,
lv_netpr_tax1 TYPE netpr,
lv_netpr_tax1_r TYPE netpr,
lv_mwskz_r TYPE mwskz,
lv_mwskz_tax TYPE mwskz,
lv_taxamt_t TYPE bseg-wrbtr,
lv_tax_tot TYPE netpr,
lv_fwnav_tax TYPE bset-fwste,
lv_taxamt_t_r TYPE bseg-wrbtr,
lv_tax_tot_r TYPE netpr,
lv_fwnav_tax_r TYPE bset-fwste,
lv_bukrs_tax_r TYPE bukrs,
lv_waers_tax_r TYPE waers,
lv_mblnr_rev TYPE mblnr,
lv_erfmg_rej TYPE erfmg,
lv_budat_m TYPE budat,
lv_bldat_m TYPE bldat,
lv_year1(4),
lv_mth1(2),
lv_day1(2),
lv_base TYPE waers,
lv_base_t TYPE waers,
lv_waers_t TYPE waers,
lv_wkurs_b TYPE wkurs,
lv_stblg_re TYPE stblg,
lv_belnr TYPE belnr_d.
Structures *
Structures for storing the output HEADER file
TYPES: BEGIN OF t_fintab1,
mblnr(30) TYPE c, "GRNumber
ebeln(20) TYPE c, "PONumber
changenr(38) TYPE c, "POAmendmentNumber
lifnr(22) TYPE c, "SupplierCode
adr_code(20) TYPE c, "AddressCode
plt_code(22) TYPE c, "PlantCode
land1(3) TYPE c, "CountryCode
elikz(25) TYPE c, "GoodsReceiptStatus
waers(3) TYPE c, "CurrencyCode
wkurs(34) TYPE c, "ExchRateValue
server(100) TYPE c, "ERPSource
ekgrp(22) TYPE c, "BuyerCode
eknam(240) TYPE c, "BuyerName
bldat(20) TYPE c, "GoodsReceiptDate
bsart(25) TYPE c, "DocType
bsart_c(50) TYPE c, "ContractType
asnno(8) TYPE c, "ASNNo
asndate(20) TYPE c, "ASNDate
xblnr(16) TYPE c, "DCNo
dc_date(20) TYPE c, "DCDate
bktxt(25) TYPE c, "PreGRNo
pre_date(20) TYPE c, "PreGRDate
emlif(22) TYPE c, "ReceiverCode
re_name(240) TYPE c, "ReceiverName
lifnr_t(10) TYPE c, "ThreePLCode
inco1(8) TYPE c, "CommercialTerms
dmbtr(34) TYPE c, "TotalValue
vkwrt(34) TYPE c, "TotalBasicValue
kwert(34) TYPE c, "TotalAdditionalCharges
base(3) TYPE c, "BaseCurrencyCode
END OF t_fintab1.
Structures for storing the output HEADER for STATUS file
TYPES: BEGIN OF t_fintab_s,
mblnr(30) TYPE c, "GRNumber
ebeln(20) TYPE c, "PONumber
changenr(38) TYPE c, "POAmendmentNumber
lifnr(22) TYPE c, "SupplierCode
adr_code(20) TYPE c, "AddressCode
plt_code(22) TYPE c, "PlantCode
land1(3) TYPE c, "CountryCode
elikz(25) TYPE c, "GoodsReceiptStatus
waers(3) TYPE c, "CurrencyCode
wkurs(34) TYPE c, "ExchRateValue
server(100) TYPE c, "ERPSource
ekgrp(22) TYPE c, "BuyerCode
eknam(240) TYPE c, "BuyerName
bldat(20) TYPE c, "GoodsReceiptDate
bsart(25) TYPE c, "DocType
bsart_c(50) TYPE c, "ContractType
asnno(8) TYPE c, "ASNNo
asndate(20) TYPE c, "ASNDate
xblnr(16) TYPE c, "DCNo
dc_date(20) TYPE c, "DCDate
bktxt(25) TYPE c, "PreGRNo
pre_date(20) TYPE c, "PreGRDate
emlif(22) TYPE c, "ReceiverCode
re_name(240) TYPE c, "ReceiverName
lifnr_t(10) TYPE c, "ThreePLCode
inco1(8) TYPE c, "CommercialTerms
dmbtr(34) TYPE c, "TotalValue
vkwrt(34) TYPE c, "TotalBasicValue
kwert(34) TYPE c, "TotalAdditionalCharges
smbln TYPE mseg-smbln,"For reversal status
END OF t_fintab_s.
Structures for storing the output DETAIL file
TYPES: BEGIN OF t_fintab2,
zeile(22) TYPE c, "GRLineNumber
mblnr(30) TYPE c, "GRNumber
server(100) TYPE c, "ERPSource
ebelp(38) TYPE c, "POLineNumber
ebeln(20) TYPE c, "PONumber
changenr(38) TYPE c, "POAmendmentNumber
scheculenumber(38) TYPE c, "ScheduleNumber
meins(25) TYPE c, "UOM
lgort(22) TYPE c, "WarehouseCode
waers(3) TYPE c, "Currency Code
matnr(40) TYPE c, "PartNumber
maktx(240) TYPE c, "PartDescription
kostl(22) TYPE c, "CostCenterCode
bukrs(15) TYPE c, "CompanyCode
menge_i(22) TYPE c, "InspectedQuantity
wemng(22) TYPE c, "GRRecievedQuantity
menge_a(22) TYPE c, "GRAcceptedQuantity
menge_g(22) TYPE c, "GRRejectedQuantity
grrework(22) TYPE c, "GRReworkQuantity
menge_r(22) TYPE c, "GRReturnedQuantity
grund(25) TYPE c, "RejnReason
remng(22) TYPE c, "QuantityInvoiced
rewrt(34) TYPE c, "AmountInvoiced
wrbtr(34) TYPE c, "AmountPaid
mwskz_t(100) TYPE c, "TaxCode
wmwst_w(34) TYPE c, "TaxValue
lifnr_sc(22) TYPE c, "SupplierCode
adr_code(20) TYPE c, "AddressCode
taxdiscount(34) TYPE c, "TaxChargeDiscount
mwskz_v(22) TYPE c, "VATCode
wmwst_v(34) TYPE c, "VATValue
vatoption(1) TYPE c, "VATOption
kwert_i(34) TYPE c, "InspectionCost
pstyp(25) TYPE c, "IssueType
pendingschdqty(22) TYPE c, "PendingSchdQuantity
menge_o(22) TYPE c, "POOrderQty
erfmg(22) TYPE c, "MovedQty
tobemovedqty(22) TYPE c, "TobeMovedQty
balanceqty(22) TYPE c, "BalanceQty
netpr_bv(34) TYPE c, "BasicValue
kwert_a(34) TYPE c, "AdditionalCharges
budat_i(20) TYPE c, "InspectionDate
budat_m(20) TYPE c, "MovedDate
elikz(25) TYPE c, "GRItemStatus
budat_g(20) TYPE c, "GRRecdDate
END OF t_fintab2.
Structures for storing the MKPF
TYPES: BEGIN OF t_mkpf,
mblnr TYPE mkpf-mblnr,
budat TYPE mkpf-budat,
xblnr TYPE mkpf-xblnr,
bldat TYPE mkpf-bldat,
END OF t_mkpf.
Structures for storing the MSEG
TYPES: BEGIN OF t_mseg,
matnr TYPE mseg-matnr,
zeile TYPE mblpo,
menge TYPE menge_d,
meins TYPE mseg-meins,
lgort TYPE mseg-lgort,
mblnr TYPE mseg-mblnr,
bukrs TYPE mseg-bukrs,
ebeln TYPE bstnr,
ebelp TYPE ekpo-ebelp,
kostl TYPE mseg-kostl,
waers TYPE mseg-waers,
erfmg TYPE mseg-erfmg,
vkwrt TYPE mseg-vkwrt,
elikz TYPE mseg-elikz,
insmk TYPE mseg-insmk,
bwart TYPE mseg-bwart,
grund TYPE mseg-grund,
END OF t_mseg.
Structures for storing the log file
TYPES: BEGIN OF t_logfile,
desc TYPE char50,
END OF t_logfile.
Structures for storing the RSEG file
TYPES: BEGIN OF t_rseg,
menge TYPE menge_d,
wrbtr TYPE wrbtr,
END OF t_rseg.
TYPES: BEGIN OF t_add,
ebeln TYPE ebeln,
END OF t_add.
TYPES: BEGIN OF t_add1,
ebeln TYPE ebeln,
ebelp TYPE ebelp,
END OF t_add1.
TYPES: BEGIN OF t_total,
dmbtr TYPE dmbtr,
END OF t_total.
TYPES: BEGIN OF t_total1,
dmbtr TYPE dmbtr,
END OF t_total1.
TYPES: BEGIN OF t_basictotal,
erfmg TYPE erfmg,
END OF t_basictotal.
TYPES: BEGIN OF t_basic,
ebeln TYPE ebeln,
ebelp TYPE ebelp,
erfmg TYPE erfmg,
END OF t_basic.
TYPES: BEGIN OF t_zcond,
zcond1 TYPE kscha,
zcond2 TYPE kscha,
zcond3 TYPE kscha,
zcond4 TYPE kscha,
zcond5 TYPE kscha,
zcond6 TYPE kscha,
zcond7 TYPE kscha,
zcond8 TYPE kscha,
zcond9 TYPE kscha,
zcond10 TYPE kscha,
END OF t_zcond.
TYPES: BEGIN OF t_add_k,
kwert TYPE konv-kwert,
END OF t_add_k.
TYPES: BEGIN OF t_tax,
ebeln TYPE mseg-ebeln,
ebelp TYPE mseg-ebelp,
menge TYPE mseg-menge,
END OF t_tax.
TYPES: BEGIN OF t_mseg_m,
mblnr TYPE mblnr,
elikz TYPE elikz,
wempf TYPE wempf,
ebeln TYPE ebeln,
ebelp TYPE ebelp,
werks TYPE werks,
erfmg TYPE erfmg,
bwart TYPE bwart,
bukrs TYPE bukrs,
lfbnr TYPE lfbnr,
END OF t_mseg_m.
TYPES: BEGIN OF t_erfmg,
erfmg TYPE erfmg,
END OF t_erfmg.
Internal tables *
DATA: i_zrfcinfo LIKE zrfcinfo OCCURS 0 WITH HEADER LINE,
i_fintab1 TYPE TABLE OF t_fintab1 WITH HEADER LINE,
i_fintab_s TYPE TABLE OF t_fintab_s WITH HEADER LINE,
i_fintab2 TYPE TABLE OF t_fintab2 WITH HEADER LINE,
i_mkpf TYPE TABLE OF t_mkpf WITH HEADER LINE,
i_mseg TYPE TABLE OF t_mseg WITH HEADER LINE,
i_rseg TYPE TABLE OF t_rseg WITH HEADER LINE,
i_total TYPE TABLE OF t_total WITH HEADER LINE,
i_basictotal TYPE TABLE OF t_basictotal WITH HEADER LINE,
i_erfmg TYPE TABLE OF t_erfmg WITH HEADER LINE,
i_erfmg1 TYPE TABLE OF t_erfmg WITH HEADER LINE,
i_basic TYPE TABLE OF t_basic WITH HEADER LINE,
i_total1 TYPE TABLE OF t_total1 WITH HEADER LINE,
i_tax TYPE TABLE OF t_tax WITH HEADER LINE,
i_tax_r TYPE TABLE OF t_tax WITH HEADER LINE,
i_mseg_m TYPE TABLE OF t_mseg_m WITH HEADER LINE,
i_add TYPE TABLE OF t_add1 WITH HEADER LINE,
i_add_a TYPE TABLE OF t_add1 WITH HEADER LINE,
i_add1 TYPE TABLE OF t_add1 WITH HEADER LINE,
i_zcond TYPE TABLE OF t_zcond WITH HEADER LINE,
i_zcond_r TYPE TABLE OF t_zcond WITH HEADER LINE,
i_add_cond TYPE TABLE OF t_add_k WITH HEADER LINE,
i_add_cond_r TYPE TABLE OF t_add_k WITH HEADER LINE,
i_add_cond_r_a TYPE TABLE OF t_add_k WITH HEADER LINE,
i_zcond_a TYPE TABLE OF t_zcond WITH HEADER LINE,
i_add_cond_a TYPE TABLE OF t_add_k WITH HEADER LINE,
i_add1_a TYPE TABLE OF t_add1 WITH HEADER LINE,
i_zcond_r_a TYPE TABLE OF t_zcond WITH HEADER LINE,
i_logfile TYPE TABLE OF t_logfile WITH HEADER LINE,
i_fintab1_h TYPE TABLE OF t_fintab1 WITH HEADER LINE,
i_fintab2_h TYPE TABLE OF t_fintab2 WITH HEADER LINE.
DATA: BEGIN OF i_mwdat OCCURS 0.
INCLUDE STRUCTURE rtax1u15.
DATA: END OF i_mwdat.
DATA: BEGIN OF i_mwdat_t OCCURS 0.
INCLUDE STRUCTURE rtax1u15.
DATA: END OF i_mwdat_t.
DATA: BEGIN OF i_mwdat_t_r OCCURS 0.
INCLUDE STRUCTURE rtax1u15.
DATA: END OF i_mwdat_t_r.
Work areas *
DATA : wa_zrfcinfo TYPE zrfcinfo.
Get the last execution date/time from ZTABLE
SELECT *
FROM zrfcinfo
INTO TABLE i_zrfcinfo
WHERE
name = 'ZRFC_VCS_GET_GOODSRECEIPT' AND
status = '1'.
DESCRIBE TABLE i_zrfcinfo LINES sy-tabix.
Sort the table for retrieving the latest date/time
SORT i_zrfcinfo BY exc_date DESCENDING exc_time DESCENDING.
READ TABLE i_zrfcinfo INDEX 1.
IF sy-subrc = 0.
lv_suc_date = i_zrfcinfo-exc_date.
lv_suc_time = i_zrfcinfo-exc_time.
ENDIF.
Fetch the updated records from the table MKPF between the latest
*date/time
lv_suc_date = '20070529'.
SELECT mblnr
budat
xblnr
bldat
FROM mkpf
INTO TABLE i_mkpf
WHERE
cpudt GE lv_suc_date AND
cputm GE lv_suc_time.
HEADER
For multiple PO
IF NOT i_mkpf[] IS INITIAL.
SELECT mblnr
elikz
wempf
ebeln
ebelp
werks
erfmg
bwart
bukrs
lfbnr
FROM mseg
INTO TABLE i_mseg_m
FOR ALL ENTRIES IN i_mkpf
WHERE mblnr = i_mkpf-mblnr
and bwart NE '543'.
IF NOT lv_suc_date IS INITIAL.
SELECT mblnr
elikz
wempf
ebeln
ebelp
werks
erfmg
bwart
bukrs
FROM mseg
INTO TABLE i_mseg_m
FOR ALL ENTRIES IN i_mseg_m
WHERE mblnr = i_mseg_m-lfbnr
ENDIF.
ENDIF.
For Selecting the ERP Source
SELECT SINGLE server INTO lv_server FROM tsle4.
Appending all the fields to the output HEADER file layout
LOOP AT i_mseg_m.
MOVE-CORRESPONDING i_mseg_m TO i_fintab1.
CONCATENATE i_mseg_m-mblnr '-' i_mseg_m-ebeln '-' i_mseg_m-ebelp
INTO i_fintab1-mblnr.
CLEAR : lv_budat_m , lv_bldat_m .
For GR Date
SELECT SINGLE budat bldat INTO (lv_budat_m , lv_bldat_m) FROM mkpf
WHERE mblnr = i_mseg_m-mblnr.
IF sy-subrc = 0.
i_fintab1-bldat = lv_budat_m.
lv_year1 = lv_bldat_m+0(4).
lv_mth1 = lv_bldat_m+4(2).
lv_day1 = lv_bldat_m+6(2).
CONCATENATE lv_day1 '/' lv_mth1 '/' lv_year1 INTO i_fintab1-dc_date.
ENDIF.
Retrieve the base currency code
CLEAR lv_base.
SELECT SINGLE waers INTO lv_base FROM t001 WHERE bukrs =
i_mseg_m-bukrs.
IF sy-subrc = 0.
i_fintab1-base = lv_base.
ENDIF.
For the Receiver Name
i_fintab1-re_name = i_mseg_m-wempf.
For the Plant Code
i_fintab1-plt_code = i_mseg_m-werks.
For the ERP Source
i_fintab1-server = lv_server.
For The Address Code
i_fintab1-adr_code = 'A1'.
For the Quantity ( ebeln - PO number , Elelp - PO line number,
erfmg - Quantity, bwart - Movement type ).
SELECT ebeln ebelp erfmg INTO TABLE i_basic FROM mseg WHERE mblnr =
i_mseg_m-mblnr AND bwart NE '543' AND ebeln = i_mseg_m-ebeln AND
ebelp = i_mseg_m-ebelp.
CLEAR lv_basicv.
LOOP AT i_basic.
Retrieve from table EKPO (Po LineItem) for total basic value( netpr
- Net price )
SELECT SINGLE netpr
INTO lv_netwr_tbv
FROM ekpo WHERE ebeln = i_basic-ebeln
AND ebelp = i_basic-ebelp.
IF sy-subrc = 0.
lv_basicv = lv_basicv + i_basic-erfmg * lv_netwr_tbv.
ENDIF.
Retrieve the basic value for Reversal
SELECT erfmg INTO TABLE i_basictotal FROM mseg
WHERE ( bwart = '122' OR bwart = '124' OR bwart = '161' )
AND lfbnr = i_mseg_m-mblnr AND ebelp = i_basic-ebelp
AND ebeln = i_basic-ebeln.
LOOP AT i_basictotal.
lv_basicv = lv_basicv - ( i_basictotal-erfmg * lv_netwr_tbv ).
ENDLOOP.
ENDLOOP.
lv_basicv move to total basic value i.e i_fintab1-vkwrt
MOVE lv_basicv TO i_fintab1-vkwrt.
CONDENSE i_fintab1-vkwrt NO-GAPS.
Retrieve the total value from table MSEG ( GR Line item )
SELECT dmbtr INTO TABLE i_total FROM mseg
WHERE mblnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
AND ebelp = i_mseg_m-ebelp.
LOOP AT i_total.
lv_dmbtr = lv_dmbtr + i_total-dmbtr.
ENDLOOP.
Calculating the total value for reversal
SELECT dmbtr INTO TABLE i_total1 FROM mseg
WHERE ( bwart = '122' OR bwart = '124' OR bwart = '161' )
AND lfbnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
AND ebelp = i_mseg_m-ebelp .
LOOP AT i_total1.
lv_dmbtr = lv_dmbtr - i_total1-dmbtr.
ENDLOOP.
For getting the exchange Rate ( wkurs - Exchange Rate )
SELECT SINGLE wkurs INTO lv_wkurs_b FROM ekko
WHERE ebeln = i_mseg_m-ebeln .
IF sy-subrc = 0.
lv_dmbtr = lv_dmbtr / lv_wkurs_b.
ENDIF.
Calculate the tax
CLEAR : i_tax, lv_netpr_tax1 , lv_mwskz, lv_taxamt_t , lv_tax_tot ,
lv_fwnav_tax, lv_bukrs_tax , lv_waers_tax.
*****( menge - Quantity ).
SELECT ebeln ebelp menge FROM mseg INTO TABLE i_tax
WHERE mblnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
AND ebelp = i_mseg_m-ebelp.
LOOP AT i_tax.
( bukrs - Company Code , waers - Currency Key ).
SELECT SINGLE bukrs waers INTO (lv_bukrs_tax , lv_waers_tax)
FROM ekko WHERE ebeln = i_tax-ebeln.
*****( netpr - net price , mwskz - tax on sales).
SELECT SINGLE netpr mwskz INTO (lv_netpr_tax1 , lv_mwskz)
FROM ekpo WHERE ebeln = i_tax-ebeln AND ebelp = i_tax-ebelp.
IF sy-subrc = 0.
lv_taxamt_t = i_tax-menge * lv_netpr_tax1.
ENDIF.
IF NOT lv_mwskz IS INITIAL.
CALL FUNCTION 'CALCULATE_TAX_FROM_NET_AMOUNT'
EXPORTING
i_bukrs = lv_bukrs_tax
i_mwskz = lv_mwskz
i_waers = lv_waers_tax
i_wrbtr = lv_taxamt_t
IMPORTING
e_fwnav = lv_fwnav_tax
TABLES
t_mwdat = i_mwdat_t.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
lv_tax_tot = lv_tax_tot + lv_fwnav_tax.
CLEAR lv_fwnav_tax.
ENDLOOP.
For reversal
CLEAR : i_tax_r, lv_netpr_tax1_r, lv_mwskz_r, lv_taxamt_t_r,
lv_tax_tot_r, lv_fwnav_tax_r, lv_bukrs_tax_r, lv_waers_tax_r
SELECT ebeln ebelp menge FROM mseg
INTO TABLE i_tax_r WHERE ( bwart = '122' OR bwart = '124' OR bwart =
'161' )
AND lfbnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
AND ebelp = i_mseg_m-ebelp.
LOOP AT i_tax_r.
SELECT SINGLE bukrs waers INTO (lv_bukrs_tax_r , lv_waers_tax_r)
FROM ekko WHERE ebeln = i_tax_r-ebeln.
SELECT SINGLE netpr mwskz INTO (lv_netpr_tax1_r , lv_mwskz_r)
FROM ekpo WHERE ebeln = i_tax_r-ebeln AND ebelp = i_tax_r-ebelp.
IF sy-subrc = 0.
lv_taxamt_t_r = i_tax_r-menge * lv_netpr_tax1_r.
ENDIF.
IF NOT lv_mwskz_r IS INITIAL.
CALL FUNCTION 'CALCULATE_TAX_FROM_NET_AMOUNT'
EXPORTING
i_bukrs = lv_bukrs_tax_r
i_mwskz = lv_mwskz_r
i_waers = lv_waers_tax_r
i_wrbtr = lv_taxamt_t_r
IMPORTING
e_fwnav = lv_fwnav_tax_r
TABLES
t_mwdat = i_mwdat_t_r.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
lv_tax_tot_r = lv_tax_tot_r + lv_fwnav_tax_r.
CLEAR lv_fwnav_tax_r.
ENDLOOP.
Finally the Total value is moving to i_fintab-dmbtr
i_fintab1-dmbtr = lv_dmbtr + lv_tax_tot - lv_tax_tot_r.
CONDENSE i_fintab1-dmbtr NO-GAPS.
IF i_fintab1-dmbtr = ' '.
i_fintab1-dmbtr = '0.0000'.
ENDIF.
IF i_fintab1-vkwrt = ' '.
i_fintab1-vkwrt = '0.0000'.
ENDIF.
SELECT SINGLE mblnr INTO lv_mblnr_rev FROM mseg
WHERE ( bwart = '102' OR bwart = '104' OR bwart = '106' )
AND lfbnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
AND ebelp = i_mseg_m-ebelp.
IF sy-subrc = 0.
i_fintab1-elikz = 'Reversed'.
ELSEIF i_fintab1-elikz = 'X'.
i_fintab1-elikz = 'Completed'.
ELSEIF i_fintab1-elikz = ' '.
i_fintab1-elikz = 'NotCompleted'.
ENDIF.
Retrieve from table EKKO for Supplier Code , Exchange Rate,
Purchasing Group, Purchasing Document Type,
SELECT SINGLE lifnr
wkurs
ekgrp
bsart
inco1
knumv
waers
INTO (lv_lifnr , lv_wkurs, lv_ekgrp , lv_bsart ,
lv_inco1 , lv_knumv , lv_waers_c)
FROM ekko
WHERE ebeln = i_mseg_m-ebeln.
IF sy-subrc = 0.
i_fintab1-lifnr = lv_lifnr.
i_fintab1-ekgrp = lv_ekgrp.
i_fintab1-waers = lv_waers_c.
i_fintab1-bsart = lv_bsart.
i_fintab1-inco1 = lv_inco1.
i_fintab1-bsart_c = lv_bsart.
MOVE lv_wkurs TO i_fintab1-wkurs.
CONDENSE i_fintab1-wkurs NO-GAPS.
ENDIF.
Retreive for Land
SELECT SINGLE land1 INTO lv_land1 FROM lfa1 WHERE lifnr = lv_lifnr .
IF sy-subrc = 0.
i_fintab1-land1 = lv_land1.
ENDIF.
Retrieve from table T024 for BuyerCode
SELECT SINGLE eknam INTO lv_eknam FROM t024 WHERE ekgrp = lv_ekgrp.
IF sy-subrc = 0.
i_fintab1-eknam = lv_eknam.
ENDIF.
Retrieve from table KONV for AdditionalCharges
Retrieve PO Number, PO Line Number from GR Line Item
SELECT ebeln ebelp INTO TABLE i_add FROM mseg
WHERE mblnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
AND ebelp = i_mseg_m-ebelp.
DELETE ADJACENT DUPLICATES FROM i_add COMPARING ebeln ebelp .
LOOP AT i_add.
********( knumv - number of document condition )
SELECT SINGLE knumv INTO lv_knumv_a FROM ekko
WHERE ebeln = i_add-ebeln.
IF sy-subrc = 0.
CLEAR : i_zcond,i_add_cond[], lv_kwert_total.
SELECT zcond1
zcond2
zcond3
zcond4
zcond5
zcond6
zcond7
zcond8
zcond9
zcond10
FROM zvcs_con_config
INTO TABLE i_zcond
WHERE ( zid = '001' ) OR
( zid = '002' ) OR
( zid = '003' ) OR
( zid = '004' ) OR
( zid = '005' ).
LOOP AT i_zcond.
SELECT kwert APPENDING TABLE i_add_cond FROM konv
WHERE knumv = lv_knumv_a AND kposn = i_add-ebelp
AND ( ( kschl EQ i_zcond-zcond1 ) OR
( kschl EQ i_zcond-zcond2 ) OR
( kschl EQ i_zcond-zcond3 ) OR
( kschl EQ i_zcond-zcond4 ) OR
( kschl EQ i_zcond-zcond5 ) OR
( kschl EQ i_zcond-zcond6 ) OR
( kschl EQ i_zcond-zcond7 ) OR
( kschl EQ i_zcond-zcond8 ) OR
( kschl EQ i_zcond-zcond9 ) OR
( kschl EQ i_zcond-zcond10 ) ).
ENDLOOP.
CLEAR : lv_kwert_total.
LOOP AT i_add_cond.
lv_kwert_total = lv_kwert_total + i_add_cond-kwert.
ENDLOOP.
CLEAR : lv_sum_a.
IF sy-subrc = 0.
lv_sum_a = lv_sum_a + lv_kwert_total.
SELECT SINGLE netwr netpr INTO (lv_netwr_a , lv_netpr_a)
FROM ekpo WHERE ebeln = i_add-ebeln AND ebelp = i_add-ebelp.
SELECT SINGLE erfmg INTO lv_erfmg_add FROM mseg
WHERE mblnr = i_mseg_m-mblnr AND ebeln = i_add-ebeln
AND ebelp = i_add-ebelp.
lv_sum_b = lv_sum_b + ( lv_erfmg_add * lv_netpr_a ) *
lv_sum_a / lv_netwr_a .
ENDIF.
ENDIF.
CLEAR : lv_kwert_a, lv_knumv_a , lv_netwr_a , lv_netpr_a ,
lv_erfmg_add.
ENDLOOP.
CLEAR: lv_sum_a.
Retrieve the returned
SELECT ebeln ebelp INTO TABLE i_add1 FROM mseg
WHERE ( bwart = '122' OR bwart = '124' OR bwart = '161' )
AND lfbnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
AND ebelp = i_mseg_m-ebelp.
DELETE ADJACENT DUPLICATES FROM i_add1 COMPARING ebeln.
LOOP AT i_add1.
SELECT SINGLE knumv INTO lv_knumv_a1 FROM ekko
WHERE ebeln = i_add-ebeln.
IF sy-subrc = 0.
CLEAR : i_zcond_r,i_add_cond_r[], lv_kwert_total_r.
SELECT zcond1
zcond2
zcond3
zcond4
zcond5
zcond6
zcond7
zcond8
zcond9
zcond10
FROM zvcs_con_config
INTO TABLE i_zcond_r
WHERE ( zid = '001' ) OR
( zid = '002' ) OR
( zid = '003' ) OR
( zid = '004' ) OR
( zid = '005' ).
LOOP AT i_zcond_r.
SELECT kwert APPENDING TABLE i_add_cond_r FROM konv
WHERE knumv = lv_knumv_a1 AND kposn = i_add1-ebelp
AND ( ( kschl EQ i_zcond_r-zcond1 ) OR
( kschl EQ i_zcond_r-zcond2 ) OR
( kschl EQ i_zcond_r-zcond3 ) OR
( kschl EQ i_zcond_r-zcond4 ) OR
( kschl EQ i_zcond_r-zcond5 ) OR
( kschl EQ i_zcond_r-zcond6 ) OR
( kschl EQ i_zcond_r-zcond7 ) OR
( kschl EQ i_zcond_r-zcond8 ) OR
( kschl EQ i_zcond_r-zcond9 ) OR
( kschl EQ i_zcond_r-zcond10 ) ).
append i_add_cond.
ENDLOOP.
LOOP AT i_add_cond_r.
lv_kwert_total_r = lv_kwert_total_r + i_add_cond_r-kwert.
ENDLOOP.
IF sy-subrc = 0.
lv_sum_a1 = lv_sum_a1 + lv_kwert_total_r .
SELECT SINGLE netwr netpr INTO (lv_netwr_a1 , lv_netpr_a1)
FROM ekpo WHERE ebeln = i_add-ebeln.
CLEAR : i_erfmg.
SELECT erfmg INTO TABLE i_erfmg FROM mseg
WHERE ( bwart = '122' OR bwart = '124' OR bwart = '161' )
AND lfbnr = i_mseg_m-mblnr AND ebeln = i_mseg_m-ebeln
AND ebelp = i_mseg_m-ebelp. -
WH Tax - Down payment clearing against invoice
Dear Experts,
This is regarding the down payment clearing against invoice where WH tax is involved in Down payment as well as in Vendor Invoice. we also deduct Work Contract Tax Z1 on vendor invoice.
the process is as follows :
Step 1 - Down payment to Vendor through TC # F-48
Entry : Vendor A/c Dr 2200.00
To Bank 2178
To TDS 22.00 @ 1%
Step 2 - Vendor Invoice Booking through TC # FB60
Entry : Expenses Dr 4400.00
To Vendor 4180
To TDS 44.00 @ 1%
To WCT 176.00 @ 1%
Clearing down payment against the invoice posted using FB60.
Step 3 - Down payment Clearing through TC # F-54
Entry : Vendor Dr 1980.00
To Vendor 2200.00
To TDS 44.00
To WCT 176
But in this process, it clearing WCT tax code also which i dont want in this. And if i adjust amount and do not clear whole amount available amount then after simulating it showing difference coming and debit and credit amount of line items.
But if i dont include WCT tax code in whole process then its working fine no problem coming in it, but want it also to include in clearing process of down payment against invoice.
Best Regards
Arun RaiDear,
i am following the SAP standard process for deducting TDS on down payment and invoices.
First i deduct the TDS on down payment and Then again full TDS amount on invoice not adjusted it in WHT tab in base amount after adjusting Advance payment.
in next process f-54 i cleared the advance payment against invoice so it reverse the invoice TDS amount to adjust the tds as per advance payment TDS.
In img i confiured the WHT for payment posting as by selecting "Central inv. prop." option in Central invoice option.
Regards
Arun Rai -
Classes, invoice program
I HAVE THE FOLLOWING CODE WHICH IS SUPPOSED TO PRODUCE A SIMPLE INVOICE USING THROUGH A DRIVER PROGRAM AND SETTERS AND GETTERS. BOTH THE INVOICE CODE AND TESTINVOICE CODE SHOW NO PROBLEMS AND COMPILE, I JUST CANT SEEM TO GET IT WORK PROPERLY, WHEN I TRY TO START IT NO DIALOG BOXS APPEAR and nothing seems to happen.
CAN SOMEONE PLEASE EXPLAIN WHY WHY WHY WHY THIS IS HAPPENING.
CODE
public class Invoice
private String partNumber;
private String description;
private double quantity;
private double price;
public Invoice()
partNumber = "";
description = "";
quantity = 0;
price = 0;
* The setPart method stores value in part field.
* @param number the value to store in part.
public void setPartNumber(String piece)
partNumber = piece;
* The setDescription method stores value in part field.
* @param desc the value to store in description.
public void setDescription(String descrip)
description = descrip;
* The setQuantity method stores value in part field.
* @param quan the value to store in quantity.
public void setQuantity(double quan)
quantity = quan;
* The setPrice method stores value in part field.
* @param amount the value to store in price.
public void setPrice(double amount)
price = amount;
* The getPart method returns value.
* @return the value in the part field.
public String getPartNumber()
return partNumber;
* The getdescription method returns value.
* @return the value in the description field.
public String getDescription()
return description;
* The getQuantity method returns value.
* @return the value in the quantity field.
public double getQuantity()
return quantity;
* The getPrice method returns value.
* @return the value in the price field.
public double getPrice()
return price;
THEN I HAVE THE DRIVER PROGRAM NAMED TESTINVOICE, WHICH I HAVE CHANGED AROUND A BIT WITH THE WAY THE SETTERS ARE SET UP BUT NOT SURE IF THIS IS THE CORRECT WAY.
public class TestInvoice
String input;
String piece;
String descrip;
double quan;
double amount;
public void main(String[] args)
Invoice myInvoice = new Invoice();
myInvoice.setPartNumber(piece);
myInvoice.setDescription(descrip);
myInvoice.setQuantity(quan);
myInvoice.setPrice(amount);
piece = JOptionPane.showInputDialog("Please enter Part Number");
descrip = JOptionPane.showInputDialog("Please enter Part Description");
input = JOptionPane.showInputDialog("Please Enter Quantity of Part Required");
quan = Double.parseDouble(input);
input = JOptionPane.showInputDialog("Please enter Part Price");
amount = Double.parseDouble(input);
JOptionPane.showMessageDialog(null, myInvoice.getPartNumber() + " " + myInvoice.getDescription() + " " +
" " + myInvoice.getQuantity() + " " + myInvoice.getPrice());
}1. Please use code tags.
2. In this code, what is price set to by the setPrice call?:
double amount;
myInvoice.setPrice(amount);
amount = 23.55;
System.out.println(myInvoice.getPrice()); // what displays here?
}Message was edited by:
petes1234
Maybe you are looking for
-
JDBC Adapter: J2EE server crashes while sending large messages
We want to use the following scenario to transfer data from a MS SQL Server to SAP BW via XI: JDBC Sender Adapter XI SAP ABAP Proxy. All works fine with a small amount of data. But if the select statement delivers too many record sets and the siz
-
ODI Scenario fails to extract data from Essbase
Hello, We are running ODI 10.1.3.6.0. When we run a scenario it fails when trying to export data from Essbase. I am pretty new to ODI and can't seem to find the information to fix this error. Thanks in advance for your help. Below is the error. org.a
-
Urgent Requirement : Backend is not available - can a model be created ?
Hi, Presently i am working in VC for BI 7.0. MY requirement is to create a model but the database model is under development and data is not available in backend this is the present situation but my client want's to have a demo of the UI. 1. will it
-
ITunes 9.1.1 with Tiger 10.4.11
I have a PPC G4 iMac (flat screen) running OS X 10.4.11 on a wireless network with two other Macs, one running 10.5.8 and the other 10.6.3. I have always shared music libraries on the network between machines but have run into problems with iTunes 9.
-
SQL 2008R2 DBCC MEMORYSTATUS empty results for values Target Committed ???
Im following this interesting article on looking at various queries to gather information on system load https://www.simple-talk.com/sql/database-administration/why-is-that-sql-server-instance-under-stress/ The query that looks at DBCC MEMORYSTATUS f