Overpaid payment
Hi all,
is there anybody have this case.
In my company client, the delivery can be process if the item is already paid first, it means that i need to create the down payment first.
But sometimes the customer pay over from the down payment amount. Ex : DP is $100 but payment in bank doing $150, then they want the $50 will assign as DP for next SO, it's mean that if the next SO value is $90, then the customer only need to pay next DP $40.
Please advice.
Tq.
-BR-
cindie
Hi,
Let me summarize my understanding of this scenario..
u have a DP of 150$ posted in FI from say ABC customer against SO 123 whereas it should be 100$ but customer has over paid to org...now u get another sales order say 234 from same customer ABC..now u want 50$ to be transfered in FI language to this customer against sales order 234...
Not much of expertise in FI but If my understanding is correct of ur scenario and other impact (Kindly consult FI consultant as well) then u just need to do FI transfer of amt..using F-02 posting key 9, one SO say 123, one customer say ABC and posting key19, another SO say 234, same customer say ABC and obviously with special G/L indicator A.
with this posting..u can cross check the FBL5n ..posting comes correct against SO.
Let me know whether this help.
Regards
Jagdish
Similar Messages
-
Currently working on SAP B1 v8.82
I'm looking to generate a query that will give an overall report for a given customer that shows Sales Order No, Invoice No, Sales Order Total, Invoice Total, Amount Paid on Invoice, Amount Remaining on Invoice, Down Payments Available, Open on Sales Order.
I'm not sure what the best way to select the columns in bold above. Invoice Total should be self-explanatory. Amount Paid should be any down payments or applied payments on the invoice. The balance due on the invoice (which seems to be T0.DocTotal if I'm not mistaken) should = 'Invoice Total' - 'Amount Paid on Invoice'. In the Down Payments Available column I want the total amount of money on the account or on down payments that aren't tied to a Sales Order. If a client overpaid in the past for instance and there's a credit on their account, then it should contribute to this sum. Open on Sales Order should be pretty easy. I guess it's just the sum of everything that is still open on the Sales Order. I'm just not sure what the best way to sum all the un-delivered freight, tax, and line items is. Here's what my query looks like so far.
SELECT DISTINCT T4.[DocNum] [Sales Order No],
T0.DocNum [Invoice No],
T4.DocTotal [Sales Order Total]
T0.DocTotal [Amount Outstanding],
FROM OINV T0
INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry
INNER JOIN DLN1 T2 ON T1.BaseEntry = T2.DocEntry AND T1.BaseLine = T2.LineNum
INNER JOIN RDR1 T3 ON T2.BaseEntry = T3.DocEntry AND T2.BaseLine = T3.LineNum
INNER JOIN ORDR T4 ON T3.DocEntry = T4.DocEntry
INNER JOIN OSLP T5 ON T4.SlpCode = T5.SlpCode
WHERE T0.CardName Like '%%[%0]%%'
GROUP BY T4.DocNum, T0.DocNum, T0.DocTotal, T4.DocTotal
I tried doing a little searching around for queries similar to what I need, but I could find exactly what I was looking for and I'm very unfamiliar with OJDT, JDT1, and ITR1 tables which I think might be important to finding unapplied payments...Thanks. There's a few problems though.
1) It seems that OINV DocTotal != Balance Due. I'm seeing a number of invoices where there was a balance due, but we applied additional money (either we took another incoming payment and applied it or applied money from the account balance, etc.) and yet it still shows a total.
2) It's pulling incoming payments from different customers. I think this is because the table was joined based on "RCT2 T4 on T4.[DocEntry] = T3.[DocNum] and T4.[InvoiceId] = T2.[LineNum]" In one example I have 2 incoming payments 446 and 614. Both have the DocEntry 542, but one relates to A/R Invoice 542 (for a different client) while the other relates to Down Payment Invoice 542. *I was able to fix this by adding WHERE T5.CardCode = [%0]*
3) I'm going to work with this a little bit and see if I can alter it to make it work for me. Basically this query falls a little short on the following:
- Doesn't include incoming payments that aren't linked to a down payment invoice.
- Does not give the Invoice Total (I'd like to know how much of the SO was invoiced. DocTotal seems to give me Amount Invoiced - Down Payments. I'm not sure the best way to get this number. Maybe I could do the sum of each line * tax + freight)
- Does not give the outstanding amount on an invoice. The ARtotal [DocTotal] column gives me how much was owed when the invoice was created, but it doesn't tell me what is currently owed.
- Lastly it may complicate the query too much and could be left off, but it would be nice to see if they have any money from credits or incoming payments that has not been applied. Perhaps this would be easily accomplished by simply pulling in their account balance. -
Hi Everyone,
Is there a report where I can find all down payments made to all the vendors in F-47 so that when an invoice is received via Miro we can check whether the vendor has a down payment. Sometimes invoices are processed and the payment block is not removed and overpaid the vendor. Can any one tell me if there is any report or any way to do this.
Thanks in Advance
Srikanthin addition to tracy you can use this report:
S_ALR_87012105 List of Down Payments Open On Key Date - Vendors
Pls assign points as way to say thanks -
About customer residual payment's balance display
Hello experts,
I met a question about residual payment.
When I using F-28 to do a residual payment and generate a document like this.
Business process:Receive cash 2000
Customer receiviable 5000
e.g.:DR:customer 3000 PK:06
DR:Cash 2000 PK:40
CR:customer 5000 PK:15
My question is about line item (PK:06) customer 3000.
Why does it display in total of the credit postings for the month inFD10N ?
I feel confused because it is a debit item ,isn't it?
I think it should come in the debit posting in the month field........
Another question is that all the credit amount in sap display as negtative number and the debit is the positive number ,isn't it?
Thanks a lot.Hi,
You should ideally apply customer invoices against collections in F-32. Whats happening in your case is all dependent upon clearing procedure for customers as defined in FBKP. When you clear a partial payment against invoice,system genrates AB document with debit balances for remaining amount if customer underpaid and if customer overpaid it will generate credit AB. SAP recognizes debit and credit with respect to S and H indicator. If customer balance is debit it will multiply it with positive 1 and vice versa for contrary. Hope this will help you.
Regards -
F-32 Partial payment amount greater than net amount
Hi Experts,
We have recently a problem in clearing up payments in F-32. When we double-click the item under Partial Payment Tab, the warning message displays "Partial payment amount greater than net amount" then the value in the Payment Amount Column becomes negative. The users need to activate 2 separate entries for partial payment but instead of . How can we do this?
We have to post like this in partial payment under same customer:
20090820 1400005790 DZ 19 20.08.2009 20.08.2009 5,000.00- 1,295.12
20110225 1400010330 DZ 19 25.02.2011 25.02.2011 2,000.00- 1,295.12-
So the the Assigned Value should be zero to post.Thanks @Atif. Ok so now I understand that the "Total Difference Posting" amount inf-32 will create the new amount of the residual payment with Document Type AB.
Now with the Warning Message "Partial Payment Amount greater than the net amount", this is in a overpayment amount that is reflected in transaction F-32, here are the entries:
Assignment Doc Num Doc Type Post Key Net Amt Partially Paid Amt Payment Amt
2133004220 90005448 RV 01 3,707.02 3,305.71 401.31
2133015007 90020098 RV 01 7,836.68 6,737.25 1,099.43
2133016757 90022362 RV 01 10,521.31 8,603.87 1,917.44
2133137046 90187172 RV 01 11,367.68 0.00 11,367.68
2133137047 90187173 RV 01 1,354.09 0.00 1,354.09
2133137048 90187174 RV 01 1,739.82 0.00 1,739.82
2133137049 90187175 RV 01 994.57 0.00 994.57
20110419 90187176 RV 01 6.42 0.00 6.42
20110421 90187177 RV 01 44.94 0.00 44.94
20110425 90187178 RV 01 19.26 0.00 19.26
20081216 1400003657 DZ 19 3,421.86- 3,394.04- 27.82-
20081222 1400003706 DZ 19 1,000.00- 1,033.17- 33.17-
20090310 1400004396 DZ 19 420.51- 401.25- 19.26-
20090630 1400005319 DZ 19 786.13- 705.94- 80.19-
20090702 1400005349 DZ 19 596.04- 535.88- 60.16-
20090820 1400005790 DZ 19 5,000.00- 6,295.12- 1,295.12-
20090824 1400005827 DZ 19 308.16- 295.32- 12.84-
20091027 1400006377 DZ 19 400.72- 375.04- 25.68-
20091215 1400006796 DZ 19 349.89- 337.05- 12.84-
20100608 1400008253 DZ 19 200.09- 189.39- 10.70-
20101019 1400009279 DZ 19 165.85- 155.00- 10.85-
20101019 1400009280 DZ 19 254.65- 238.00- 16.65-
20101019 1400009281 DZ 19 160.64- 157.00- 3.64-
20101130 1400009595 DZ 19 10,000.00- 5,440.92- 4,559.08-
How is this possible that Document numbers 1400003706 and 1400005790 has overpaid amount. And both of them are downpayment documents? Is there any way I can clear them with the Invoices, I am also lost with this kind of scenario? -
I paid my bill on line, and it somehow posted twice, so that I overpaid by $443.57. I have spoken to customer service several times over the last 5 days, and was told that my refund request was "sent via TOPS form to the treasury department". Having received no remimbursement in 5 business days, I called yesterday and was told by customer service "supervisor" Kimberly that "Verizon's treasury department is working with my bank". She could not explain exactly what that meant, and refused to let me speak to anyone in the "treasury" department, and that she would email me daily with updates. So far, no update. What does it take to have the obvious overpayment reimbursed to my bank account? Or, does Verizon think it is their right to hold these funds, even though they acknowledge the overpayment?
>> Personal information removed to comply with the Verizon Wireless Terms of Service <<
Message was edited by: Verizon ModeratorI am a mite confused here. If paying in person you can use cash or credit or debit card. Also a check.
All of which you have total control of.
If you paid by credit or debit card the screen that flashes up before you sign shows the amount.
If you paid by check the correct amount would be on the check. If you paid with cash which if I read correctly you did not do then all the other methods would have been under your control.
You are shown the amount to pay *before* you swipe the card or Verizon swiped the card.
Now if you have an account setup with a saved card or bank information and asked the Verizon person to just use the card on file again you would have seen the amount prior to authorizing it.
I cannot see how your missive holds up in light of how payments are made.
If you used the payment kiosk in one of the corporate stores the error if made would still be done by you.
If credit or debit call the bank and have them reverse the payment. They will by law. But will need proof of what you claimed occurred.
Good Luck -
Negative Sign in Debit (Outgoing Payment)
Dear Experts,
I have a problem where the in outgoing Payment (overpaid) showing negative sign in Debit side(- $0.50) , for accounting standard it should be show RM0.50 in Credit side JE if it's overpaid.
Because of this, it effected the display on General Ledger where showing Debit Side with negative sign and cause the total debit is incorrect.
Kindly Advise.
Your reply is highly appreciated.
Regards,
Danny.Hi Danny
Normally in SAP B1 :
For Customers Receivables it shows in +ve Balance ( Debit.)
For Vendor Payable it shows in -Ve Balances ( Cr.)
If customer is Overpaid or Given Advance then it shows in -ve ( Cr.)
If you paid Advance to Vendor then it shows in +ve. ( Debit.)
I hope you will understand the Behavior of SAP and this is not difference from the Finance Logic.
Giridharan V -
Custom purchase requsitionto vendor open and cleared payment report
dear all i develop report but i cant ableto show in that open amount and cleared amount of vender in that report so please see this report and feedback me for logic to show open and clear amount of vendor purchase orderwise or vendorwise
report zpo_purchase_history no standard page heading message-id 00.
TABLES : bsik, bsak, lfa1, lfb1, skb1, t001, bapifvdexp_vzzbepp.
type-pools:slis,ICON.
types :begin of ty_po,
banfn type eban-banfn,
"Purchase Requisition Number
bnfpo type eban-bnfpo,
"Item Number of Purchase Requisition
ekgrp type eban-ekgrp, "Purchasing Group
badat type eban-badat,
"Requisition (Request) Date
menge type eban-menge,
KNTTP TYPE EBAN-KNTTP,
PSTYP type eban-PSTYP,
"Purchase Requisition Quantity
meins type eban-meins,
"Purchase Requisition Unit of Measure
lifnr type ekko-lifnr, "Vendor Account Number
bedat type ekko-bedat, "Purchasing Document Date
ebeln type ekpo-ebeln,
"Purchasing Document Number
ebelp type ekpo-ebelp,
"Item Number of Purchasing Document
matkl type ekpo-matkl, "Material Group
mtart type ekpo-mtart, "Material Type
matnr type ekpo-matnr, "Material Number
txz01 type ekpo-txz01, "Short Text
menge1 type ekpo-menge, "Purchase Order Quantity
meins1 type ekpo-meins,
"Purchase Order Unit of Measure
balqty type ekpo-menge, "Balance Quantity
netpr type ekpo-netpr,
"Net Price in Purchasing Document
peinh type ekpo-peinh, "Price Unit
mblnr type mseg-mblnr,
"Number of Material Document
zeile type mseg-zeile, "Item in Material Document
menge2 type mseg-menge, "GR Quantity
meins2 type mseg-meins, "GR Unit of Measure
werks type mseg-werks, "Plant
charg type mseg-charg, "Batch
belnr type rbkp-belnr,
"Document Number of an Invoice Document
bldat type ekbe-bldat, "Document Date in Document
belnr_b type rbkp-belnr,
SHKZG type ekbe-SHKZG , "Debit/Credit Indicator
DMBTR type bsik-dmbtr, "Amount in Local Currency
DMBTR_C type bsAk-dmbtr, "Amount in Local Currency
thick(10) type c, "Thickness
width(10) type c, "Width
length(10) type c, "Length
grade(10) type c, "Grade
BELNR_d type bseg-belnr,
xblnr type bkpf-xblnr,
awkey type bkpf-awkey,
RMWWR type rbkp-RMWWR,
WMWST1 type rbkp-WMWST1,
end of ty_po.
types :begin of ty_ekko,
ebeln type ekko-ebeln,
lifnr type ekko-lifnr,
bedat type ekko-bedat,
end of ty_ekko.
types:begin of ty_ekpo,
ebeln type ekpo-ebeln,
ebelp type ekpo-ebelp,
matnr type ekpo-matnr,
txz01 type ekpo-txz01,
menge type ekpo-menge,
meins type ekpo-meins,
netpr type ekpo-netpr,
peinh type ekpo-peinh,
banfn type ekpo-banfn,
bnfpo type ekpo-bnfpo,
mtart type ekpo-mtart,
end of ty_ekpo.
types :begin of ty_eban,
banfn type eban-banfn,
bnfpo type eban-bnfpo,
matnr type eban-matnr,
menge type eban-menge,
meins type eban-meins,
end of ty_eban.
types : begin of ty_ekbe,
ebeln type ekbe-ebeln,
ebelp type ekbe-ebelp,
belnr type ekbe-belnr,
bldat type ekbe-bldat,
gjahr type ekbe-gjahr,
buzei type ekbe-buzei,
matnr type ekbe-matnr,
DMBTR type ekbe-dmbtr,
shkzg type ekbe-shkzg,
end of ty_ekbe.
types : begin of ty_mseg,
mblnr type mseg-mblnr,
mjahr type mseg-mjahr,
zeile type mseg-zeile,
menge type mseg-menge,
meins type mseg-meins,
ebeln type mseg-ebeln,
ebelp type mseg-ebelp,
matnr type mseg-matnr,
werks type mseg-werks,
charg type mseg-charg,
end of ty_mseg.
types : begin of ty_rbkp,
belnr type rbkp-belnr,
gjahr type rbkp-gjahr,
bldat type rbkp-bldat,
lifnr type rbkp-lifnr,
ZUONR type rbkp-ZUONR,
RMWWR type rbkp-RMWWR,
WMWST1 type rbkp-WMWST1,
end of ty_rbkp.
types : begin of ty_bseg,
bukrs type bseg-bukrs,
belnr type bseg-belnr,
gjahr type bseg-gjahr,
buzei type bseg-buzei,
valut type bseg-valut,
wrbtr type bseg-wrbtr ,
augbl type bseg-augbl,
matnr type bseg-matnr,
lifnr type bseg-lifnr,
ebeln type bseg-ebeln,
end of ty_bseg.
types : begin of ty_rseg,
belnr type rseg-belnr,
gjahr type rseg-gjahr,
ebeln type rseg-ebeln,
ebelp type rseg-ebelp,
matnr type rseg-matnr,
bukrs type rseg-bukrs,
end of ty_rseg.
types : begin of ty_bsik,
belnr type bsik-belnr,
buzei type bsik-buzei,
DMBTR type bsik-DMBTR,
budat type bsik-budat,
shkzg type bsik-shkzg,
ebeln type bsik-ebeln,
lifnr type bsik-lifnr,
end of ty_bsik.
types : begin of ty_bsak,
belnr type bsak-belnr,
lifnr type bsak-lifnr,
ebeln type bsak-ebeln,
DMBTR_C type bsak-DMBTR,
ZUONR type bsak-ZUONR,
end of ty_bsak.
types: begin of ty_bkpf,
BELNR type bkpf-belnr,
xblnr type bkpf-xblnr,
awkey type bkpf-awkey,
end of ty_bkpf.
data: it_po type standard table of ty_po,
it_ekko type standard table of ty_ekko,
it_ekpo type standard table of ty_ekpo,
it_eban type standard table of ty_eban,
it_ekbe type standard table of ty_ekbe,
it_mseg type standard table of ty_mseg,
it_rbkp type standard table of ty_rbkp,
it_rseg type standard table of ty_rseg,
it_bseg type standard table of ty_bseg,
it_bsik type STANDARD TABLE OF ty_bsik with header line,
it_bsak type STANDARD TABLE OF ty_bsak,
it_bkpf type standard table of ty_bkpf,
wa_po type ty_po,
wa_ekko type ty_ekko,
wa_ekpo type ty_ekpo,
wa_eban type ty_eban,
wa_mseg type ty_mseg,
wa_rbkp type ty_rbkp,
wa_rseg type ty_rseg,
wa_bseg type ty_bseg,
wa_ekbe type ty_ekbe,
wa_bsik type ty_bsik,
wa_bsak type ty_bsak,
wa_bkpf type ty_bkpf.
data: it_fcat type slis_t_fieldcat_alv,
it_lshead type slis_t_listheader,
it_sort type slis_t_sortinfo_alv,
wa_fcat type slis_fieldcat_alv,
wa_lshead type slis_listheader,
wa_layout type slis_layout_alv,
wa_sort type slis_sortinfo_alv.
data :it_cl_data like table of clobjdat,
wa_cl_data like clobjdat.
data: values(10) type n.
data: value1(4) type N.
data: c_matkl type ekpo-matkl,
c_matnr type ekpo-matnr,
c_ekgrp type eban-ekgrp,
c_badat type eban-badat,
c_index type sy-tabix,
c_grmenge type mseg-erfmg,
c_low(10) type c,
c_high(10) type c,
c_date type string,
c_bukrs type ekko-bukrs,
c_WERKS type eban-WERKS.
data: gd_date(10).
DATA: V_EVENTS TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT.
*********Selection screen variables*********
selection-screen:begin of block b1 with frame title text-001.
select-options: s_bukrs for c_bukrs DEFAULT 'bmp1',
s_WERKS for c_WERKS,
s_matnr for c_matnr DEFAULT 'rm-01',
s_matkl for c_matkl ,
s_badat for c_badat ,"obligatory,
s_ekgrp for c_ekgrp.
parameters: ch_bal as checkbox.
selection-screen:end of block b1.
*initialization.
* PERFORM EVENT_CALL.
* PERFORM POPULATE_EVENT.
start-of-selection.
PERFORM EVENT_CALL.
PERFORM POPULATE_EVENT.
perform getdata.
perform setdata.
perform fieldcat.
perform display.
*& Form GETDATA
form getdata .
select a~BANFN
a~bnfpo
a~ekgrp
a~badat
a~KNTTP
a~PSTYP
b~ebeln
b~ebelp
b~matkl
b~matnr
b~bukrs
into corresponding fields of table it_po
from eban as a inner join ekpo as b
on a~banfn = b~banfn and
a~bnfpo = b~bnfpo AND
A~KNTTP = B~KNTTP and
a~PSTYP = b~PSTYP
where a~badat in s_badat and
a~ekgrp in s_ekgrp and
a~WERKS in s_WERKS and
b~matnr in s_matnr and
b~matkl in s_matkl and
b~bukrs in s_bukrs and
b~loekz <> 'L' and
a~loekz <> 'X'.
if it_po[] is not initial.
select ebeln
ebelp
matnr
txz01
menge
meins
netpr
peinh
banfn
bnfpo
mtart
from ekpo into table it_ekpo
for all entries in it_po
where ebeln = it_po-ebeln and
ebelp = it_po-ebelp and
loekz <> 'L'.
select banfn
bnfpo
matnr
menge
meins
from eban into table it_eban
for all entries in it_po
where banfn = it_po-banfn and
bnfpo = it_po-bnfpo and
loekz <> 'X'.
if it_ekpo[] is not initial.
select ebeln
lifnr
bedat
from ekko into table it_ekko
for all entries in it_ekpo
where ebeln = it_ekpo-ebeln.
select ebeln
ebelp
belnr
bldat
gjahr
buzei
matnr
DMBTR
shkzg
from ekbe into table it_ekbe
for all entries in it_ekpo
where ebeln = it_ekpo-ebeln and
ebelp = it_ekpo-ebelp .
*if it_ekbe-shkzg = 'H'.
**ekbe-dmbtr = ekbe-dmbtr * -1.
**ekbe-menge = ekbe-menge * -1.
*endif.
* select belnr
* gjahr
* ebeln
* ebelp
* from bseg into table it_bseg
* for all entries in it_ekpo
* where ebeln = it_ekpo-ebeln and
* ebelp = it_ekpo-ebelp.
select belnr
gjahr
ebeln
ebelp
matnr
bukrs
from rseg into table it_rseg
for all entries in it_ekpo
where ebeln = it_ekpo-ebeln and
ebelp = it_ekpo-ebelp.
endif.
if it_ekbe[] is not initial.
select mblnr
mjahr
zeile
menge
meins
ebeln
ebelp
matnr
werks
charg
from mseg into table it_mseg
for all entries in it_ekbe
where mblnr = it_ekbe-belnr and
mjahr = it_ekbe-gjahr and
zeile = it_ekbe-buzei and
bwart = '101'.
endif.
if it_rseg[] is not initial.
select belnr
gjahr
bldat
lifnr
ZUONR
RMWWR
WMWST1
from rbkp into table it_rbkp
for all entries in it_rseg
where belnr = it_rseg-belnr.
endif.
*if it_rseg[] is not initial.
* SELECT bukrs
* belnr
* gjahr
* buzei
* valut
* wrbtr
* augbl
* matnr
* lifnr
* ebeln
* INTO TABLE it_bseg
* FROM bseg
* FOR ALL ENTRIES IN it_rseg
* WHERE bukrs = it_rseg-bukrs and ebeln = it_rseg-ebeln and mwskz = ''.
*endif.
*loop at it_BKPF into wa_BKPF.
* values = wa_rbkp-belnr.
* value1 = wa_rbkp-gjahr.
data: aekey_1 type string .
*CONCATENATE values value1 into aekey_1.
* if it_BSEG[] is not initial.
*MESSAGE aekey_1 type 'I'.
SELECT single belnr xblnr awkey into wa_bkpf
from bkpf
where awkey = aekey_1.
SELECT SINGLe belnr
buzei
dmbtr
budat
shkzg
ebeln
lifnr
FROM bsik
INTO CORRESPONDING FIELDS OF wa_bsik
*FOR ALL ENTRIES IN it_bseg
WHERE
bukrs in s_bukrs and
lifnr = wa_rbkp-lifnr
and
*AND gjahr = it_bseg-gjahr
* AND
belnr = wa_bkpf-belnr.
insert wa_bsik into table it_bsik.
CLEAR wa_bsik.
CLEAR it_bsik.
*endloop.
* and ebeln = it_bseg-ebeln .
* select BELNR
** SHKZG
** DMBTR
* from bkpf into table it_bkpf
* for ALL ENTRIES IN it_rbkp
* where belnr = it_rbkp-belnr.
* ENDif.
IF IT_bseg[] IS NOT INITIAL.
select belnr
LIFNR
ebeln
DMBTR
ZUONR
from bsik into table it_bsik
for all entries in it_bseg
where belnr = it_bseg-belnr.
select belnr
LIFNR
ebeln
DMBTR
ZUONR
from bsak into table it_bsak
for all entries in it_bseg
where belnr = it_bseg-belnr.
ENDIF.
else.
message s002.
leave list-processing.
endif.
endform. " GETDATA
*& Form SETDATA
form setdata .
clear wa_po.
loop at it_po into wa_po.
c_index = sy-tabix.
********Calculate PR Quantity**********
clear wa_eban.
read table it_eban into wa_eban
with key banfn = wa_po-banfn
bnfpo = wa_po-bnfpo.
if sy-subrc eq 0.
move:wa_eban-menge to wa_po-menge,
wa_eban-meins to wa_po-meins.
endif.
********Calculate PO Quantity**********
clear wa_ekpo.
read table it_ekpo into wa_ekpo
with key banfn = wa_po-banfn
bnfpo = wa_po-bnfpo .
if sy-subrc eq 0.
move:wa_ekpo-txz01 to wa_po-txz01,
wa_ekpo-netpr to wa_po-netpr,
wa_ekpo-peinh to wa_po-peinh,
wa_ekpo-mtart to wa_po-mtart,
wa_ekpo-menge to wa_po-menge1,
wa_ekpo-meins to wa_po-meins1.
endif.
********Calculate Balance Quantity******
clear wa_mseg.
loop at it_mseg into wa_mseg
where ebeln = wa_po-ebeln and
ebelp = wa_po-ebelp.
c_grmenge = c_grmenge + wa_mseg-menge.
endloop.
move:wa_mseg-mblnr to wa_po-mblnr,
c_grmenge to wa_po-menge2,
wa_mseg-meins to wa_po-meins2,
wa_mseg-werks to wa_po-werks,
wa_mseg-charg to wa_po-charg.
wa_po-balqty = wa_eban-menge - c_grmenge.
clear : wa_rseg,wa_rbkp.
read table it_rseg into wa_rseg with key
ebeln = wa_mseg-ebeln
ebelp = wa_mseg-ebelp.
read table it_rbkp into wa_rbkp
with key belnr = wa_rseg-belnr
gjahr = wa_rseg-gjahr.
if sy-subrc eq 0.
move : wa_rbkp-belnr to wa_po-belnr,
wa_rbkp-bldat to wa_po-bldat,
wa_rbkp-RMWWR to wa_po-RMWWR,
WA_RBKP-WMWST1 TO WA_PO-WMWST1.
endif.
read table it_bseg into wa_bseg with key
ebeln = wa_rseg-ebeln
bukrs = wa_rseg-bukrs.
if sy-subrc eq 0.
move wa_bseg-belnr to wa_po-belnr_d.
endif.
* read table it_bkpf into wa_bkpf
* with key belnr = wa_ekbe-belnr.
* read table it_bseg into wa_bseg
* with key belnr = wa_bkpf-belnr.
CLEAR wa_bsik.
clear it_bsik.
read table it_bsik into wa_bsik
with key belnr = wa_bkpf-belnr.
* if wa_bsik-shkzg = 'H'.
* wa_bsik-DMBTR = wa_bsik-DMBTR * 1.
* endif.
if sy-subrc eq 0.
move : wa_bsik-belnr to wa_po-belnr,
wa_bsik-DMBTR to wa_po-DMBTR.
endif.
* clear wa_bsik.
* read table it_bsik into wa_bsik
* with key belnr = wa_bseg-belnr.
* if sy-subrc eq 0.
* move : wa_bsik-DMBTR to wa_po-DMBTR.
* endif.
*clear wa_bsak.
* read table it_bsak into wa_bsak
* with key belnr = wa_bseg-belnr.
* if sy-subrc eq 0.
* move : wa_bsak-DMBTR_C to wa_po-DMBTR_C.
* endif.
*clear : wa_rbkp.
*loop at it_bsik into wa_bsik.
*read table it_bsik into wa_bsik with key belnr = wa_rbkp-belnr.
*if sy-subrc eq 0.
* move : wa_bsik-DMBTR to wa_po-DMBTR.
* endif.
*endloop.
*********Assign Vendor,PO Date*********
clear wa_ekko.
read table it_ekko into wa_ekko
with key ebeln = wa_po-ebeln.
if sy-subrc eq 0.
move:wa_ekko-lifnr to wa_po-lifnr,
wa_ekko-bedat to wa_po-bedat.
endif.
*clear wa_ekko.
*read table it_ekko into wa_ekko
*with key lifnr = wa_po-lifnr.
*if sy-subrc eq 0.
* move: wa_bsik-DMBTR to wa_po-DMBTR.
* endif.
* call function 'ZSD_BATCH_CLASSIFICATION_DATA'
* exporting
** ch_charg = wa_po-charg
* ch_matnr = wa_po-matnr
* ch_werks = wa_po-werks
* tables
* cl_data = it_cl_data
** I_SEL_CHARACTERISTIC =
loop at it_cl_data into wa_cl_data.
if wa_cl_data-ausp1 ne '?'.
if wa_cl_data-atnam eq 'THICKNESS'.
move wa_cl_data-ausp1 to wa_po-thick.
elseif wa_cl_data-atnam eq 'LENGTH'.
move wa_cl_data-ausp1 to wa_po-length.
elseif wa_cl_data-atnam eq 'WIDTH'.
move wa_cl_data-ausp1 to wa_po-width.
elseif wa_cl_data-atnam eq 'GRADE'.
move wa_cl_data-ausp1 to wa_po-grade.
endif.
endif.
endloop.
modify it_po from wa_po index c_index.
clear :c_grmenge,wa_po,wa_ekpo,wa_mseg,c_index.
endloop.
endform. " SETDATA
*& Form FIELDCAT
* text
* --> p1 text
* <-- p2 text
form fieldcat .
perform buildfields using '1' 'BANFN' 'IT_PO' 'PR Number' '' ''.
* perform buildfields using '2' 'BNFPO' 'IT_PO' 'PR Item Number' '' ''.
perform buildfields using '2' 'KNTTP' 'IT_PO' 'A/c Assignment Cat' '' ''.
perform buildfields using '2' 'PSTYP' 'IT_PO' 'Item Cat' '' ''.
perform buildfields using '3' 'EKGRP' 'IT_PO' 'Purchase Group' '' ''.
perform buildfields using '4' 'BADAT' 'IT_PO' 'Request Date' '' ''.
perform buildfields using '5' 'MENGE' 'IT_PO' 'PR Quantity' 'X' ''.
perform buildfields using '6' 'MEINS' 'IT_PO' 'PR Unit' '' ''.
perform buildfields using '7' 'LIFNR' 'IT_PO' 'Vendor Number' '' ''.
perform buildfields using '8' 'EBELN' 'IT_PO' 'Purchasing Doc No' '' '' .
perform buildfields using '9' 'BEDAT' 'IT_PO' 'PO Date' '' ''.
perform buildfields using '10' 'MTART' 'IT_PO' 'Material Type' '' ''.
perform buildfields using '11' 'MATKL' 'IT_PO' 'Material Group' '' ''.
perform buildfields using '12' 'MATNR' 'IT_PO' 'Material Number' '' ''.
perform buildfields using '13' 'TXZ01' 'IT_PO' 'Material Desc' '' ''.
perform buildfields using '18' 'MENGE1' 'IT_PO' 'PO Quantity' 'X' ''.
perform buildfields using '19' 'MEINS' 'IT_PO' 'PO Unit' '' ''.
perform buildfields using '20' 'NETPR' 'IT_PO' 'Net Price' '' ''.
perform buildfields using '21' 'PEINH' 'IT_PO' 'Price Unit' '' ''.
perform buildfields using '22' 'MBLNR' 'IT_PO' 'GR Number' '' ''.
perform buildfields using '23' 'MENGE2' 'IT_PO' 'GR Quantity' 'X' ''.
perform buildfields using '24' 'MEINS2' 'IT_PO' 'GR Unit' '' ''.
perform buildfields using '25' 'BELNR' 'IT_PO' 'Invoice doc. number' '' ''.
perform buildfields using '26' 'BLDAT' 'IT_PO' 'Invoice Date' '' ''.
* perform buildfields using '26' 'BELNR_D' 'IT_POP' 'A/C Doc. No.' '' ''.
* perform buildfields using '26' 'AUGBL' 'IT_PO' 'Clearing Doc No.' '' ''.
perform buildfields using '26' 'DMBTR' 'IT_PO' 'OPEN AMOUNT' '' ''.
perform buildfields using '26' 'DMBTR' 'IT_PO' 'clear AMOUNT' '' ''.
* perform buildfields using '26' 'DMBTR_C' 'IT_PO' 'Clear balance' '' ''.
if ch_bal = 'X'.
perform buildfields using '27' 'BALQTY' 'IT_PO' 'Balance Quantity'
'X' ''.
endif.
perform buildfields using '26' 'WMWST1' 'IT_PO' 'TOTAL TAX ADDED' 'X' ''.
perform buildfields using '26' 'RMWWR' 'IT_PO' 'TOTAL AMOUNT IN INVOICE' 'X' ''.
endform. " FIELDCAT
*& Form BUILDFIELDS
* text
* -->P_0449 text
* -->P_0450 text
* -->P_0451 text
* -->P_0452 text
form buildfields using value(p_col_pos) like sy-cucol
value(p_fldname) type slis_fieldname
value(p_tabname) type slis_tabname
value(p_reptext) like dd03p-reptext
value(p_do_sum) type char1
value(hotspot) type char1.
wa_fcat-col_pos = p_col_pos.
wa_fcat-fieldname = p_fldname.
wa_fcat-tabname = p_tabname.
wa_fcat-reptext_ddic = p_reptext.
wa_fcat-do_sum = p_do_sum.
wa_fcat-hotspot = hotspot.
append wa_fcat to it_fcat.
clear wa_fcat.
endform. " BUILDFIELDS
*& Form DISPLAY
form display .
clear wa_layout.
wa_layout-zebra = 'X'.
wa_layout-colwidth_optimize = 'X'.
* wa_layout-box_fieldname = 'SEL'.
* wa_layout-edit = 'X'.
perform build_sort using 'BANFN' '1' 'X'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = sy-cprog
* I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND '
i_callback_top_of_page = 'TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
i_background_id = 'ALV_BACKGROUND'
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = wa_layout
it_fieldcat = it_fcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
it_sort = it_sort
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
I_SAVE = 'A'
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
tables
t_outtab = it_po[]
exceptions
program_error = 1
others = 2
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " DISPLAY
*& Form top_of_page
* text
form top_of_page. "#EC *
**********Create report header*********
refresh it_lshead.
clear wa_lshead.
**********To display date in header*********
* write: s_badat-low to c_low dd/mm/yyyy,s_badat-high to c_high
* dd/mm/yyyy.
* if s_badat-high is initial.
* concatenate 'Dated on' c_low into c_date separated by space.
* else.
* concatenate 'Dated between' c_low 'and' c_high into c_date separated
* by space.
* endif.
wa_lshead-typ = 'H'.
wa_lshead-info = 'PR To Payment History'.
* 'Pending Indents History -We had a requirement to retrieve "aging of receiveables" by customer. Basically, it goes thru each record and depending on the due date places the amounts in the following buckets (example). 0-30 day Overdue, 31-60 days Overdue, 61-90 days overdue, 30+ days overdue, 60+ days overdue) etc all the way to 6+ years overdue.
There are also cooresponding buckets for coming due analysis. For example, what is: 0-30 days coming due, 31-60 days coming due, 30+ days coming due, etc...
To do this, first I needed to be able be able to produce an open items statement at any given time in the past. Now, this seems impossible because of how the items go from open to cleared all the time. And an item that was open one month ago, may not be open anymore.
What I did was first remove any selections on item status. Then compare the posting date with teh key date in the past, if the posting date is less than or equal to the key date, keep the record.
Then compare the clearing date with the key date. First, keep all that are #. (This keeps all records still open from that posting date/key date)
Then, add another check for all items that were cleared after the key date (GT Key Date). This gives you the open items on that date.
Hope that makes sense. Let me know if you want clarification.
/smw -
Pension payment period record issue in Retiree Payroll
Dear Experts,
We are implementing Retiree payroll with new set of wagetypes and payroll area. Now requirement is that there needs to be a provision of recording the balance period of pension payment and further it should be displayed in the form of report. That means say employee has the eligibility of receiving pension from 01.12.1998 to 14.11.2015 and he has received it till Oct, 2010, remaining balance period needs to be projected in month and days like 60.14/98.12 etc.
Now please suggest how to achieve it, should we create a custom infotype for storing it or any other way is there.
Thanks and regards
TanIt is Indian payroll.
Requirement is to store the balance period of pension payment, like if one employee is eligible to get pension ( as per our pension benefit scheme) for 10 years 3months 15 days since his retirement date and has already received for 36 months i.e. 3years, we need to store and display that he is eligible to get pension for another 7years 3months 15 days in 87.15 format (i.e. 7*12+3= 87months and 15days) on monthly basis.
This will be also captured in a report later on.
Please suggest
Regards
Tan -
im trying too download apps but it saying my payment is declined when i got money in my bank
im trying too download apps but it saying my payment is declined when i got money in my bank
-
Dear Friends,
I have 2 queries -
1. Can we configured the Payment Terms which will enable while invoicing to create the multiple line item while Invoice Posting ( accounting entry ) say, while doing MIRO / FB60 transaction. And one of those would go to Special GL. e.g. we have to deduct the Retention Money @ 5% from Invoice Amount and we are using one of Special GL for Retention money so can i configure the Payment Term as -
1. 95% -
60 Days
2. 5% -
365 Days
So here 2 ( 5% ) will be posted as Special GL item while Invoice Entry.
( Currently we are transferring those entries to special gl manually using T code - F-02 from Vendor Open items )
2. We have configured the number of Payment Terms but sometimes negotiated Terms does fall into the category of existing Payment Terms and it is not possible to create the Payment Terms for such requirement. So can we configure one Payment Term which will be editable while Purchase ORder Creation or Invoicing ( like payment term with "OTHERS" would be created and initially it would be configured for 0 Days and those would be edited while making Purchase Order as per requirement.
Since this is affecting our Ageing Analysis and Payment Due Report as both are based on Payment Terms in PO.
If anyone has solution pls suggest the way to do it . will assign full marks if gets solution.
Thanks in advance.
PSHi
I think we can't maintain cash discounts more than two %.
Goto OBB8, choose account type customer/vendor.
goto payment terms segment. 1) 3% days 0 2) 2% days 15.
3) we can enter %, only days. it means no cash discount.
Regards,
Chandra -
Payment by letter of Credit against Purchase order
When we are purchasing from Foreign Vendors , we need to open a Letter
of credit (LC) .
Depending on the terms of Purchase order , Vendor will discount it /get
payment from Bank on submitting LC and other necessary documents.
Vendor's Bank, at appropriate Time will send the same to Customer's Bank
How to mapped this scenario in SAP-MM and FI .
Activities required to be updated against Purchase order :
(1) Payment Terms : 100 % against LC on delivery
(2) History should reflect LC opened - Date and Bank Name which
Vendor has suggested, our company's Bank Name
(3) LC discounted details
(4) LC payment due date to our company Bank - as Procurement needs
to inform to Finance for this.
Any help will be highly appreciated.
Thanks and Best Regards,When we are purchasing from Foreign Vendors , we need to open a Letter
of credit (LC) .
Depending on the terms of Purchase order , Vendor will discount it /get
payment from Bank on submitting LC and other necessary documents.
Vendor's Bank, at appropriate Time will send the same to Customer's Bank
How to mapped this scenario in SAP-MM and FI .
Activities required to be updated against Purchase order :
(1) Payment Terms : 100 % against LC on delivery
(2) History should reflect LC opened - Date and Bank Name which
Vendor has suggested, our company's Bank Name
(3) LC discounted details
(4) LC payment due date to our company Bank - as Procurement needs
to inform to Finance for this.
Any help will be highly appreciated.
Thanks and Best Regards, -
Payment Program Document not automatically Cleared
Hi,
We created payments through F110 payment program and the vendor invoices were paid on 14th October.
We then ran the program again on 31st October and the same invoices were paid again.
We use the payment list to manually pay the telegraph transfer.
On investigation I can see the the payment document for the one on the 14th didnt automatically create a clearing document and is still open.
Can anyone tell me how this would not clear down and how to check for such errors if they seem to go through the payment program ok.
ThanksHi,
I could look into Tolerance Groups are proper set for the Company Codees. If the Tolerance Groups are not set properly, it would stop from clearing the documents.
I also hope you have set the config. steps proper in FBZP.
Regards,
Ravi -
my client requirement is status of the po till payment i want to generate a sap query any body pls guide me purchase order ->down payment ->goods reciept-> invoice verification -> vendor payment
i want to generate this report vendor wise as well as the material and po
pls give me indetails tables and fields
advance thanks for kind replyhi,
Seelct EKBE u2013 EBELN, LIFNR
Where EKEB- BUKRS Eq (Company Code entered in the selection screen)
EKBE u2013 BEDAT Eq (Purchasing Document Date entered in the selection screen)
Select all EKBE u2013 EBELN in to EKBE
Invoice and GRN Document Number: -
Select EKEB-BELNR, BUDAT, DMBTR, WRBTR, WAERS
Where EKBE u2013 EBELN Eq EBELN Entered in the selection screen
EKBE u2013 GJAHR Eq GJAHR Entered in the selection screen
EKBE u2013 BUDAT Eq BUDAT Entered in the selection screen
EKBE u2013 VGABE Eq 1 (Goods Receipt) (in case of Invoice GRN)
EKBE u2013 VGABE Eq 2 (Invoice Receipt) (in case of Invoice MIRO)
Eenter all EKBE u2013 BELNR into BKPF and select BKPF- BELENR, WAERS
BKPF - BUKRS Eq BUKRS Entered in the selection screen
BKPF u2013 GJAHR Eq EKBE - GJAHR
BKPF u2013 BUDAT Eq EKBE - BUDAT
BKPF u2013 AWKEY Eq EKBE u2013 BELNR + GJAHR
Eenter all BKPF u2013 BELNR into BSEG and select BSEG u2013 BELENR, DMBTR
BSEG - BUKRS Eq BKPF - BUKRS
BSEG u2013 GJAHR Eq BKPF - GJAHR
BSEG u2013 BUDAT Eq EKBE - BUDAT
BSEG- BELNR Eq BKPF u2013 BELNR
For Payment Document Select BSEG u2013 AUGBL
Where BSEG- BELNR Eq BKPF u2013 BELNR
BSEG - BUKRS Eq BKPF - BUKRS
BSEG u2013 GJAHR Eq BKPF - GJAHR
BSEG u2013 BUDAT Eq EKBE - BUDAT
Eenter all BSEG u2013 AUGBL into BSEG and select BSEG u2013 BELENR, DMBTR ,
Where BSEG u2013 BELNR Eq BSEG - BSEG u2013 AUGBL
For Advance Payment Document Select BKPF u2013 BELNR, WAERS and KURSF
Where BKPF - BUKRS Eq BUKRS Entered in the selection screen
BKPF u2013 GJAHR Eq EKBE - GJAHR
BKPF u2013 BUDAT Eq EKBE - BUDAT
BKPF u2013 TCODE Eq FBA7 and FBA6
Enter all BKPF u2013 BELNR into BSEG and select BSEG u2013 BELENR, DMBTR ,
Where BSEG- BELNR Eq BKPF u2013 BELNR
BSEG - BUKRS Eq BKPF - BUKRS
BSEG u2013 GJAHR Eq BKPF - GJAHR
Reagrds,
Rama Mohan -
Vendor Downpayment Request Payment Order
Dear All
We are processing most of our vendor payments through Automatic Payment Program which initially create the payment order and later once we upload the EBS system clears the vendor open item. All the vendor open items which are having payment order are locked and cannot be cleared without payment order. This is a control so that no duplicate payment can be made. But we recently found a flaw in SAP where although normal open items are blocked but in case if there is any payment order for downpayment request, we can still process the payment through F-48 meaning we can create the down payment for the DPR for which payment order exist so there is a chance of duplicate payment to vendor. Please advise if someone face the same issue and is there any solution to control it.
Best Regards
Farhan QaiserHi,
F-47: Down Payment against PO
regards,
Sanju M S
Maybe you are looking for
-
I'm still running OS 10.6, and have decided to upgrade to 10.7 Lion. However, the Apple website has just informed me that 10.8 Mountain Lion is coming this summer. Do I have to buy Lion, and then again by Mountain Lion? Should I just wait until Moun
-
Lost all saved passwords. how do I retreive them?
I have lost all of my saved passwords in my Tools, Options, Security. How do I go about restarting this so it will save passwords from here forward, or if possible retrieving all of the passwords that were lost. Thank you for any help I can get on th
-
Connecting FW400 device to FW800 port
I suspect this has been asked and answered before, but after searching here for quite a while, I couldn't find it. Question is, if a camcorder is plugged into the MBP 17" FW400 port, is there any problem having a FW400 external HD connected at the sa
-
How to manage Development/Tset/Production Environment in Planning
Hi Gurus, I wanted to know what is the best method to manage these 3 environment in Planning. Does it require to install seperate installation on seperate servers or we can use one installation of planning, RDBMS and essbase. or it require some other
-
Is this possible in Oracle Data Gaurd 11g?
Dear All, I was looking for replication scenerio while this thing came in my mind. We have setup 2 database servers on 2 different location, thousands of miles apart. Both servers have oracle 11gR1 and are on linux operating system. We have been faci