Payment Allocation
Dear All,
I have to assign in one payment allocation "Payment Advices" and "Other Payments" as well. But this the system doesn't allow and the following error message will be displayed:
"Combining advices of advice collection and other payments not possible".
Does anyone have an idea how we cayn post it?
Thanks a lot and best regards!
Katrin Gruber
Hi Katrin,
what do you mean with other payments? Or what is it in your concrete issue?
The error message says "payment advices of advice collection"...is it right, that you have more as one advice to allocate?
I think the concrete case is more transparent to the community if you would give us more details of the allocation: How many advices from how many different customers/suppliers? Which other payments? etc
Best Regards,
Andreas
Similar Messages
-
When i try to do the payment allocation for a supplier through AP-Payments, LOV does'nt show the debit and credit balances avaliable for a particular supplier. Instead, it throws and error saying "FRM 40502: Oracle error: Unable to read list of values" - Please let me know regarding how to resove this error. you can mail me to [email protected]
Hi,
Define this message as Warning by OBA5. If it isn't allowed go first into OBMSG.
Regards -
Hi, if I allocate incoming payment to the wrong invoices for a particular customer, can i reverse the payment allocation and how? and what about I manually do the reconciliation from the Banking -- Automatic reconciliation module? Thanks for advice.
When you are in Incoming Payment screen, select 'Data--> Cancel'. That will reverse the incoming payment.
It might bet a bit messy if you have deposited as you will have to reverse the deposit before you can reverse the Incoming payment. -
F-28 and F-32 Payment Allocation
Dear Experts,
Would like to request some of your inputs with regards to partial allocation of payments.
Using the tcodes F-28 and F-32 for payment allocation creates a new document for the remaining unpaid.
Shown below is an example of allocation for several billing documents.
How would you identify which of the cleared documents have the remaining unpaid billing?
Payment
001 DZ 150,000.00
Billing Documents
002 AB 30,000.00
003 FC 45,000.00
004 DZ 70,000.00
005 LT 30,000.00
Total 175,000.00
Allocation Clearing
005 LT 30,000.00 001
003 FC 45,000.00 001
004 DZ 70,000.00 001
002 AB 5,000.00 001
Total 150,000.00
Remaining Unpaid
001 DZ 25,000.00
Thanks in advance.
KathI understood what you explained. That was a very good answer, however i have 1 more question.
1. For Eg: I posted a customer invoice for Rs 100,000 and customer paid the whole amont. After doing fb70 can we do f-32 directly? Or we have to do f-28 first and then clear it in f-32.
My problem is, customers are set up on company code 1000, but this cocd does not have any house bank and hence no bank GL account.
We do the FB70 on company code 1000. However I need to clear this amount using a bank gl account of company code 2000. Company code 2000 is the main Cocd and has a house bank and bank GL account.
So im not able to select a CoCd 2000 bank gl account as it doesnt exist while doing f-28 for company code 1000 who received the invoice and payment. But im able to do this on f-32. When i click on OVERVIEW in f-32, then at the bottom there is a field for NEW Company Code.It uses cross company clearing.
Hence i want to know, if it is ok to do a f-32 directly after doing a FB70.
I hope my scenario is clear.
Thanks. -
Down payment allocation in F-54
Hi All,
I want to reserve the advance payment made for a particular PO get reserved in F-54, is there an user exit or some enhancement in which i can allocate an advance payment based on the PO number which is already entered while making advance payment request.
Any help on the above issue will be highly appreciated.
Thanks in advance for all the help.Hello,
While making advance payment through F-48 are you choosen purchase order means you book advance against purchase order. now to reverse this TDS ( deducted at the time of advance payment). In F-54 you have to give only relevant invoice number ( booked through MIRO and tds deducted) so that system will reverse the TDS amount based on invoice.
You can make advance payment without down payment request.
In case of any problem revert me back
Regards,
Sankar -
Disputing a late payment reporting. What counts as "proof'?
I am disputing a account that has a "Late payment" reporting. I foolishy wrote down the confirmation in a notebook, and have lost track of it. I know it was paid, and the account shouldn't be reported as over 60 days late. I am doing my best to find any proof. I know I called the creditor on a speific date before the payment was due, and was talking to them for a few minutes. I pulled my telephone records, and it does show I called the creditor,and talked to them for 18 minutes, yet before I found this, the creditor said they couldn't see a call was made to them. I also have a "payment allocation" paper they sent to me that says a transcation for "$100" dollars was made on 03/18/2015, and my phone records have the phone call taking place on 03/17/2015. I just found these documents a day ago. I don't understand how a phone call wouldn't be recorded, but yet it shows on my phone bill that I talked to them for 18 minutes. I googled the number, and it was the creditors number. They have said i never did talk to them ,but that was before I went through my phone bill. Do i have anything worth sending them to show that what they have told me isn't correct?
mnl wrote:
So how are they allowed to make errors, but if we do, then there are problems? Navient(Sallie Mae) told me 2 times that they reviewed the call logs, and there records didn't show a call at all. Was told they looked thoroughly, so obviously they didn't, or there is a issue with their system. Proof of the phone call shows that there is a error on their end/system makes errors, if there is one error/mistake, then that shows more errors could happen on their end. I went through bank statements, and it shows for 03/18 , which is the same day the phone call took place (Which I have the phone bill) Bank statement shows on 03/18: 147.20 MERCHANT PAYMENT AT LOC 360 12061 Bluemont Way Reston VA Looked this up, and it's Sallie Mae/Navient. I don't have a voided check. I paid by phone. The phone bill, and bank statement is all I have. I've read online about how Sallie Mae/Navient has lost peoples payments, and made errors just like this plenty of times. Ridiculous. You're absolutely right. The debt collection industry essentially wrote the laws (FCRA and FDCPA) with some input from lawmakers - or to put it another way, the lawmakers wrote the laws with a great deal of input from the debt collection industry. So while there are *some* protections for us, the deck IS stacked against us to a great degree. The only defense we really have is to learn how the system works, both for and against us, in order to play this game on as level a playing field as we can possibly make. -
Automatic clearing on the basis of contract no.
Hi Friends
I am facing a issue related to clearing on the basis of contract no..
Details are as below,
1. I am having 3 open items for 1 BP (customer). These are against a single contract amounting to 1775 EUR.
2. In my EBS I am having a receipt of Rs1.1775 EUR from this customer. Contract no. is also getting identified & is mentioned in Payment advice notes.
3. The flow types of open items are already customised in "Value Allocation for Incoming Payments Allocation ".
Still the open items are not getting cleared against this receipt.
Please inform whether I am missing anything?.
Full points will be granted.
Kindly help.
Thanks & Regards
BhairaviHi Bhairavi,
could you please check if you have done all settings mentioned in customizing for Electronic Account Statement for RE-FX:
Path: customizing RE-FX - Accounting - Integration FI-GL, FI-AR, FI-AP - Incoming Payments Control - Prepare Account Statement Entry
-> Electronic Account Statement Entry
Regards, Franz -
Hello All...
can someone help in giving a generic FI/CO business scenario. And the process flow.
thnx in advance
NTHi,
Normally business scenarios in finance
a. Procure to Pay - Purchase Req, Purchase order, Goods Receipt, Invoice Receipt, Payment to vendor, Bank reconciliation (this is End to End process)
b. Order to cash - Sale order, Delivery, Post goods issue, billing, Incoming payment, Payment allocation, Dunning, Interest calculation, customer statement (End to end)
c. Asset Accounting - Project system, WBS element, Purchase order, Receive asset, Invoice booking, Asset capitalization, depreciation, retirement, transfer.
These are some of main business scenarios
Thanks
Ashok- Assign points if this is useful -
Hi all,
I am a layman to FI, can anyone provide me some basic concepts as well as some important topics where in i can understand the basic structure of FI FLow.
Thanks
Zaf.Hi,
<b>Document flow confusion in SAP FI</b>
I have a problem understanding basic things like how a document flows in the Sap system. When posting a customer invoice the subledger will be debited with that amount, now my confusion is will the same amount be posted to the G/L only or the very same amount will also be posted to the reconciliation general ledger - making 3 postings or The recon acc is the G/L . I don't see 3 postings happening because then 2 debits will be Posted against one debit -please clarify me on this.
Also the different between the G/L, Special ledgers and the recon acc is not clear to me.
<b>Customer and Vendor accounts</b> are maintained in a subledger. Posting to these accounts will also be posted to the A/R and A/P reconciliation accounts. All Reconciliation accouints are GL accounts.
All <b>G/L accounts</b> are not reconciliation accounts.
Why is this done?
In large businesses, there will be hundreds/thousands of customers/vendors. All these are personalaccounts (there are three types of accounts: nominal, personal and real). These personal accounts are grouped in to sub-ledgers and any posting to them is reconciled to the G/L
via the reconciliation accounts.
For fulfilling completing the double entry system accounting the Reconciliation accounts i.e., Accounts Receivable and Accounts Payable are used. All the Vendors are grouped under Acounts Payable & Customers are grouped under Accounts Receivable. And also always any time the balance in reconciliation account shows as zero.
<b>Ex: 1) Vendors transaction:</b>
For Invoice posting:
Inventory A/c Dr
To Vendor A/c................Accounts Payable A/c (Reconciliation Ledger)
(In SAP since we are linking in the G/L Master Accounts Payable with the Reconciliation Accounts type setting as Vendors. Hence, with one entry 3 Accounts are automatically updated)
Accounts Payable is Liability & Inventory is Current Assets.
For Payment to Vendor:
Vendor A/c Dr.....Accounts Payable A/c
To Bank/ Cash A/c
<b>Ex:2) Customer Transaction:</b>
Sales Invoice Posting:
Customer A/c Dr...Accounts Receivable A/c (Reconciliation A/c)
To Sales A/c
Receipt Posting:
Bank A/c Dr
To Customer A/c...........Accounts Receivable A/c
In Normal Accounting the Reconciliation Accounts are called as Control Accounts and we pass 2 entries for each transaction i.e., Sale, as following:
1) Customer A/c Dr (Sales Ledger / Accounts Receivable A/c)
To Sales A/c (General Ledger)
2) Accounts Receivable A/c Dr (General Ledger)
To Customer A/c (Sales Ledger Adjustment A/c)
Hence, any time the Control A/c balance is zero.
These are basic accounting differentiation for different types of accoutns. This is a basic accounting concept and is not specifically mentioned anywhere in SAP terminology.
<b>Personal accounts:</b>
Accounts in the name of individuals, organizations etc.
For example, Company A A/c, XYZ limited co A/C, Suresh A/C, Indian Bank A/C etc
<b>Real Accounts:</b>
These are accounts related to assets, both real and tangible.
example, furniture a/c, machinery a/c, accounts receivables a/c etc
<b>Nominal Accounts:</b>
These are related to incomes/expenditures and profit/losses.
for example, sales A/c, salary a/c etc
<b>List of tables :</b>
AGKO Cleared Accounts
ANAR Asset Types
ANAT Asset type text
ANEK Document Header Asset Posting
ANEP Asset Line Items
ANEV Asset downpymt settlement
ANKT Asset classes- Description
ANLA Asset Master Record Segment
ANLB Depreciation terms
ANLC Asset Value Fields
ANLH Main asset number
AT02T Transaction Activity Category- Description
AT02A Transaction Code for Menu TIMN
AT10 Transaction type
AT10T Name of Transaction Type
BKDF Document Header Supplement for Recurring Entry
BKORM Accounting Correspondence Requests
BKPF Accounting Document Header
BLPK Document log header
BLPP Document log item
BLPR Document Log Index and Planned Order (Backflush)
BNKA Bank master record
BP000 Business Partner Master (General Data)
BPBK Doc.Header Controlling Obj.
BPEG Line Item Total Values Controlling Obj.
BPEJ Line Item Annual Values Controlling Obj.
BPEP Line Item Period Values Controlling Obj.
BPGE Totals Record for Total Value Controlling obj.
BPJA Totals Record for Annual Total Controlling Obj.
BSAD Accounting- Secondary Index for Customers (Cleared Items)
BSAK Accounting- Secondary Index for Vendors (Cleared Items)
BSAS Accounting- Secondary Index for G/L Accounts (Cleared Items)
BSEC One-Time Account Data Document Segment
BSEG Accounting Document Segment
BSID Accounting- Secondary Index for Customers
BSIK Accounting- Secondary Index for Vendors
BSIM Secondary Index, Documents for Material
BSIS Accounting- Secondary Index for G/L Accounts
CEPC Profit Center Master Data Table
CEPCT Texts for Profit Center Master Data
COBRA Settlement Rule for Order Settlement
COBRB Distribution Rules Settlement Rule Order Settlement
COKA CO Object- Control Data for Cost Elements
COSP CO Object- Cost Totals for External Postings
COSS CO Object- Cost Totals for Internal Postings
CRCO Assignment of Work Center to Cost Center
CSKA Cost Elements (Data Dependent on Chart of Accounts)
CSKB Cost Elements (Data Dependent on Controlling Area)
CSLA Activity master
FEBEP Electronic Bank Statement Line Items
FPLA Billing Plan
FPLT Billing Plan- Dates
GLPCT EC-PCA- Totals Table
KNA1 General Data in Customer Master
KOMK Pricing Communication Header
MAHNV Management Records for the Dunning Program
REGUT TemSe - Administration Data
SKA1 G/L Account Master (Chart of Accounts)
SKAT G/L Account Master Record (Chart of Accounts- Description)
SKB1 G/L account master (company code)
T003T Document Type Texts
T007S Tax Code Names
T087J Text
TAPRFT Text tab. for investment profile
TKA01 Controlling Areas
TKA09 Basic Settings for Versions
TKVS CO Versions
TZB0T Flow types text table
TZPAT Financial Assets Management product type texts
VBSEGS Document Segment for G/L Accounts Document Parking
VTBFHA Transaction
VTBFHAPO Transaction Flow
VTBFHAZU Transaction Activity
VTBFINKO Transaction Condition
VTIDERI Master Data Listed Options and Futures
VTIFHA Underlying transaction
VTIFHAPO Underlying transaction flows
VTIFHAZU Underlying transaction status table
VTIOF Options Additional Data
VWPANLA Asset master for securities
<b>SAP FI Transaction Code List</b>
How to reverse a cleared documents?
The following procedure is to be followed to reverse the cleared document.
1. Reset the cleared document and reverse the document.
Path # Accounting --> financial Accounting --> C/L > Document> Reset Cleared items - T. code : FBRA
In this screen select resetting and reverse radio button and give the reversal reason. : 01 and save the settings.
*-- Maddipati
F-01 Enter Sample Document
F-02 Enter G/L Account Posting
F-03 Clear G/L Account
F-04 Post with Clearing
F-05 Post Foreign Currency Valuation
F-06 Post Incoming Payments
F-07 Post Outgoing Payments
F-18 Payment with Printout
F-19 Reverse Statistical Posting
F-20 Reverse Bill Liability
F-21 Enter Transfer Posting
F-22 Enter Customer Invoice
F-23 Return Bill of Exchange Pmt Request
F-25 Reverse Check/Bill of Exch.
F-26 Incoming Payments Fast Entry
F-27 Enter Customer Credit Memo
F-28 Post Incoming Payments
F-29 Post Customer Down Payment
F-30 Post with Clearing
F-31 Post Outgoing Payments
F-32 Clear Customer
F-33 Post Bill of Exchange Usage
F-34 Post Collection
F-35 Post Forfaiting
F-36 Bill of Exchange Payment
F-37 Customer Down Payment Request
F-38 Enter Statistical Posting
F-39 Clear Customer Down Payment
F-40 Bill of Exchange Payment
F-41 Enter Vendor Credit Memo
F-42 Enter Transfer Posting
F-43 Enter Vendor Invoice
F-44 Clear Vendor
F-46 Reverse Refinancing Acceptance
F-47 Down Payment Request
F-48 Post Vendor Down Payment
F-49 Customer Noted Item
F-51 Post with Clearing
F-52 Post Incoming Payments
F-53 Post Outgoing Payments
F-54 Clear Vendor Down Payment
F-55 Enter Statistical Posting
F-56 Reverse Statistical Posting
F-57 Vendor Noted Item
F-58 Payment with Printout
F-59 Payment Request
F-60 Maintain Table: Posting Periods
F-62 Maintain Table: Exchange Rates
F-63 Park Vendor Invoice
F-64 Park Customer Invoice
F-65 Preliminary Posting
F-66 Park Vendor Credit Memo
F-67 Park Customer Credit Memo
F-90 Acquisition from purchase w. vendor
F-91 Asset acquis. to clearing account
F-92 Asset Retire. frm Sale w/ Customer
F.01 ABAP/4 Report: Balance Sheet
F.02 Compact Journal
F.03 Reconciliation
F.04 G/L: Create Foreign Trade Report
F.05 Foreign Currency Val.: Open Items
F.06 Foreign Currency Valuation:G/L Assts
F.07 G/L: Balance Carried Forward
F.08 G/L: Account Balances
F.09 G/L: Account List
F.0A G/L: FTR Report on Disk
F.0B G/L: Create Z2 to Z4
F.10 G/L: Chart of Accounts
F.11 G/L: General Ledger from Doc.File
F.12 Advance Tax Return
F.13 ABAP/4 Report: Automatic Clearing
F.14 ABAP/4 Report: Recurring Entries
F.15 ABAP/4 Report: List Recurr.Entries
F.16 ABAP/4 Report: G/L Bal.Carried Fwd
F.17 ABAP/4 Report: Cust.Bal.Confirmation
F.18 ABAP/4 Report: Vend.Bal.Confirmation
F.19 G/L: Goods/Invoice Received Clearing
F.1A Customer/Vendor Statistics
F.1B Head Office and Branch Index
F.20 A/R: Account List
F.21 A/R: Open Items
F.22 A/R: Open Item Sorted List
F.23 A/R: Account Balances
F.24 A/R: Interest for Days Overdue
F.25 Bill of Exchange List
F.26 A/R: Balance Interest Calculation
F.27 A/R: Periodic Account Statements
F.28 Customers: Reset Credit Limit
F.29 A/R: Set Up Info System 1
F.2A Calc.cust.int.on arr.: Post (w/o OI)
F.2B Calc.cust.int.on arr.: Post(with OI)
F.2C Calc.cust.int.on arr.: w/o postings
F.2D Customrs: FI-SD mast.data comparison
F.2E Reconciliation Btwn Affiliated Comps
F.2F Management Acct Group Reconciliation
F.2G Create Account Group Reconcil. G/L
F.30 A/R: Evaluate Info System
F.31 Credit Management - Overview
F.32 Credit Management - Missing Data
F.33 Credit Management - Brief Overview
F.34 Credit Management - Mass Change
F.35 Credit Master Sheet
F.36 Adv.Ret.on Sls/Pur.Form Printout(DE)
F.37 Adv.rept.tx sls/purch.form print (BE
F.38 Transfer Posting of Deferred Tax
F.39 C FI Maint. table T042Z (BillExcTyp)
F.40 A/P: Account List
F.41 A/P: Open Items
F.42 A/P: Account Balances
F.44 A/P: Balance Interest Calculation
F.45 A/P: Set Up Info System 1
F.46 A/P: Evaluate Info System
F.47 Vendors: calc.of interest on arrears
F.48 Vendors: FI-MM mast.data comparison
F.4A Calc.vend.int.on arr.: Post (w/o OI)
F.4B Calc.vend.int.on arr.: Post(with OI)
F.4C Calc.vend.int.on arr.: w/o postings
F.50 G/L: Profitability Segment Adjustmnt
F.51 G/L: Open Items
F.52 G/L: Acct Bal.Interest Calculation
F.53 G/L: Account Assignment Manual
F.54 G/L: Structured Account Balances
F.56 Delete Recurring Document
F.57 G/L: Delete Sample Documents
F.58 OI Bal.Audit Trail: fr.Document File
F.59 Accum.Clas.Aud.Trail: Create Extract
F.5A Accum.Clas.Aud.Trail: Eval.Extract
F.5B Accum.OI Aud.Trail: Create Extract
F.5C Accum.OI Audit Trail: Display Extr.
F.5D G/L: Update Bal. Sheet Adjustment
F.5E G/L: Post Balance Sheet Adjustment
F.5F G/L: Balance Sheet Adjustment Log
F.5G G/L: Subseq.Adjustment(BA/PC) Sp.ErA
F.5I G/L: Adv.Rep.f.Tx on Sls/Purch.w.Jur
F.61 Correspondence: Print Requests
F.62 Correspondence: Print Int.Documents
F.63 Correspondence: Delete Requests
F.64 Correspondence: Maintain Requests
F.65 Correspondence: Print Letters (Cust)
F.66 Correspondence: Print Letters (Vend)
F.70 Bill/Exchange Pmnt Request Dunning
F.71 DME with Disk: B/Excha. Presentation
F.75 Extended Bill/Exchange Information
F.77 C FI Maintain Table T045D
F.78 C FI Maintain Table T045B
F.79 C FI Maintain Table T045G
F.80 Mass Reversal of Documents
F.81 Reverse Posting for Accr./Defer.Docs
F.90 C FI Maintain Table T045F
F.91 C FI Maintain Table T045L
F.92 C FI Maintain T012K (Bill/Exch.)
F.93 Maintain Bill Liability and Rem.Risk
F.97 General Ledger: Report Selection
F.98 Vendors: Report Selection
F.99 Customers: Report Selection
F/LA Create Pricing Report
F/LB Change pricing reports
F/LC Display pricing reports
F/LD Execute pricing reports
F00 SAPoffice: Short Message
F000 Accounting
F010 ABAP/4 Reporting: Fiscal Year Change
F01N Debit position RA single reversal
F01O Vacancy RU single reversal
F01P Accruals/deferrals single reversal
F01Q Debit position MC single reversal
F01R MC settlement single reversal
F01S Reverse Periodic Posting
F01T Reverse Acc./Def. General Contract
F040 Reorganization
F041 Bank Master Data Archiving
F042 G/L Accounts Archiving
F043 Customer Archiving
F044 Vendor Archiving
F045 Document Archiving
F046 Transaction Figures Archiving
F101 ABAP/4 Reporting: Balance Sheet Adj.
F103 ABAP/4 Reporting: Transfer Receivbls
F104 ABAP/4 Reporting: Receivbls Provisn
F107 FI Valuation Run
F110 Parameters for Automatic Payment
F111 Parameters for Payment of PRequest
F13E ABAP/4 Report: Automatic Clearing
F150 Dunning Run
F48A Document Archiving
F53A Archiving of G/L Accounts
F53V Management of G/L Account Archives
F56A Customer Archiving
F58A Archiving of Vendors
F61A Bank archiving
F64A Transaction Figure Archiving
F66A Archiving of Bank Data Storage
F8+0 Display FI Main Role Definition
F8+1 Maintain FI Main Role Definition
F8+2 Display FI Amount Groups
F8+3 Maintain FI Amount Groups
F8B4 C FI Maintain Table TBKDC
F8B6N C FI Maintain Table TBKPV
F8BC C FI Maintain Table TBKFK
F8BF C FI Maintain Table T042Y
F8BG Maintain Global Data for F111
F8BH Inconsistencies T042I and T042Y
F8BJ Maintain Clearing Accts (Rec.Bank)
F8BK Maintain ALE-Compatible Pmnt Methods
F8BM Maintain numb.range: Payment request
F8BN Corr.Acctg Documents Payment Block
F8BO Payment request archiving
F8BR Levels for Payment Requests
F8BS Detail display of payment requests
F8BT Display Payment Requests
F8BU Create payment runs automatically
F8BV Reversal of Bank-to-Bank Transfers
F8BW Reset Cleared Items: Payt Requests
F8BZ F111 Customizing
F8XX Payment Request No. Ranges KI3-F8BM
FA39 Call up report with report variant
FAKA Config.: Show Display Format
FAKP Config.: Maintain Display Format
FAR1 S FI-ARI Maint. table T061A
FARA S FI-ARI Maint. table T061P/Q
FARB C FI-ARI Maint. table T061R
FARI AR Interface: Third-party applicatns
FARY Table T061S
FARZ Table T061V
FAX1 BC sample SAP DE 2.1
FAX2 BC sample 2 SAP DE 2.1
FB00 Accounting Editing Options
FB01 Post Document
FB02 Change Document
FB03 Display Document
FB03Z Display Document/Payment Usage
FB04 Document Changes
FB05 Post with Clearing
FB05_OLD Post with clearing
FB07 Control Totals
FB08 Reverse Document
FB09 Change Line Items
FB10 Invoice/Credit Fast Entry
FB11 Post Held Document
FB12 Request from Correspondence
FB13 Release for Payments
FB1D Clear Customer
FB1K Clear Vendor
FB1S Clear G/L Account
FB21 Enter Statistical Posting
FB22 Reverse Statistical Posting
FB31 Enter Noted Item
FB41 Post Tax Payable
FB50 G/L Acct Pstg: Single Screen Trans.
FB60 Enter Incoming Invoices
FB65 Enter Incoming Credit Memos
FB70 Enter Outgoing Invoices
FB75 Enter Outgoing Credit Memos
FB99 Check if Documents can be Archived
FBA1 Customer Down Payment Request
FBA2 Post Customer Down Payment
FBA3 Clear Customer Down Payment
FBA6 Vendor Down Payment Request
FBA7 Post Vendor Down Payment
FBA7_OLD Post Vendor Down Payment
FBA8 Clear Vendor Down Payment
FBA8_OLD Clear Vendor Down Payment
FBB1 Post Foreign Currency Valn
FBBA Display Acct Determination Config.
FBBP Maintain Acct Determination Config.
FBCJ Cash Journal
FBCJC0 C FI Maintain Tables TCJ_C_JOURNALS
FBCJC1 Cash Journal Document Number Range
FBCJC2 C FI Maint. Tables TCJ_TRANSACTIONS
FBCJC3 C FI Maintain Tables TCJ_PRINT
FBCOPY Copy Function Module
FBD1 Enter Recurring Entry
FBD2 Change Recurring Entry
FBD3 Display Recurring Entry
FBD4 Display Recurring Entry Changes
FBD5 Realize Recurring Entry
FBD9 Enter Recurring Entry
FBDF Menu Banque de France
FBE1 Create Payment Advice
FBE2 Change Payment Advice
FBE3 Display Payment Advice
FBE6 Delete Payment Advice
FBE7 Add to Payment Advice Account
FBF1 C80 Reporting Minus Sp.G/L Ind.
FBF2 Financial Transactions
FBF3 Control Report
FBF4 Download Documents
FBF5 Reports Minus Vendor Accounts
FBF6 Document Changes
FBF7 C80 Reports Minus Sp.G/L Ind.
FBF8 C84 Reports
FBFT Customizing BDF
FBIPU Maintain bank chains for partner
FBKA Display Accounting Configuration
FBKF FBKP/Carry Out Function (Internal)
FBKP Maintain Accounting Configuration
FBL1 Display Vendor Line Items
FBL1N Vendor Line Items
FBL2 Change Vendor Line Items
FBL2N Vendor Line Items
FBL3 Display G/L Account Line Items
FBL3N G/L Account Line Items
FBL4 Change G/L Account Line Items
FBL4N G/L Account Line Items
FBL5 Display Customer Line Items
FBL5N Customer Line Items
FBL6 Change Customer Line Items
FBL6N Customer Line Items
FBM1 Enter Sample Document
FBM2 Change Sample Document
FBM3 Display Sample Document
FBM4 Display Sample Document Changes
FBMA Display Dunning Procedure
FBME Banks
FBMP Maintain Dunning Procedure
FBN1 Accounting Document Number Ranges
FBN2 Number Range Maintenance: FI_PYORD
FBP1 Enter Payment Request
FBR1 Post with Reference Document
FBR2 Post Document
FBRA Reset Cleared Items
FBRC Reset Cleared Items (Payment Cards)
FBS1 Enter Accrual/Deferral Doc.
FBTA Display Text Determin.Configuration
FBTP Maintain Text Determin.Configuration
FBU2 Change Intercompany Document
FBU3 Display Intercompany Document
FBU8 Reverse Cross-Company Code Document
FBV0 Post Parked Document
FBV1 Park Document
FBV2 Change Parked Document
FBV3 Display Parked Document
FBV4 Change Parked Document (Header)
FBV5 Document Changes of Parked Documents
FBV6 Parked Document $
FBVB Post Parked Document
FBW1 Enter Bill of Exchange Pmnt Request
FBW2 Post Bill of Exch.acc.to Pmt Request
FBW3 Post Bill of Exchange Usage
FBW4 Reverse Bill Liability
FBW5 Customer Check/Bill of Exchange
FBW6 Vendor Check/Bill of Exchange
FBW7 Bank file to file system (for FBWD)
FBW8 File to Bank (for Transaction FBWD)
FBW9 C FI Maintain Table T045DTA
FBWA C FI Maintain Table T046a
FBWD Returned Bills of Exchange Payable
FBWD2 Parameter Transaction for FBWD
FBWE Bill/Exch.Presentatn - International
FBWQ C FI Maintain Table T045T
FBWR C FI Maintain Table T045W
FBWS C FI Maintain Table T046s
FBZ0 Display/Edit Payment Proposal
FBZ1 Post Incoming Payments
FBZ2 Post Outgoing Payments
FBZ3 Incoming Payments Fast Entry
FBZ4 Payment with Printout
FBZ5 Print Check For Payment Document
FBZ8 Display Payment Run
FBZA Display Pmnt Program Configuration
FBZG Failed Customer Payments
FBZP Maintain Pmnt Program Configuration
FC10 Financial Statements Comparison
FC11 Data Extract for FI Transfer
FC80 Document C80
FC82 Document C82
FCAA Check Archiving
FCC1 Payment Cards: Settlement
FCC2 Payment Cards: Repeat Settlement
FCC3 Payment Cards: Delete Logs
FCC4 Payment Cards: Display Logs
FCCR Payment Card Evaluations
FCH1 Display Check Information
FCH2 Display Payment Document Checks
FCH3 Void Checks
FCH4 Renumber Checks
FCH5 Create Check Information
FCH6 Change Check Information/Cash Check
FCH7 Reprint Check
FCH8 Reverse Check Payment
FCH9 Void Issued Check
FCHA Check archiving
FCHB Check retrieval
FCHD Delete Payment Run Check Information
FCHE Delete Voided Checks
FCHF Delete Manual Checks
FCHG Delete cashing/extract data
FCHI Check Lots
FCHK Check Tracing Initial Menu
FCHN Check Register
FCHR Online Cashed Checks
FCHT Change check/payment allocation
FCHU Create Reference for Check
FCHV C FI Maintain Table TVOID
FCHX Check Extract - Creation
FCIWCU BW Customizing for CS
FCIWD00 Download InfoObject text
FCIWD10 Download InfoObject hierarchies
FCKR International cashed checks
FCMM C FI Preparations for consolidation
FCMN FI Initial Consolidation Menu
FCV1 Create A/R Summary
FCV2 Delete A/R Summary
FCV3 Early Warning List
FC_BW_BEX Business Explorer Analyser
FC_BW_RSA1 BW Administrator Workbench
FC_BW_RSZDELETE Delete BW Query Objects
FC_BW_RSZV Maintain BW Variables
FD-1 Number range maintenance: FVVD_RANL
FD01 Create Customer (Accounting)
FD02 Change Customer (Accounting)
FD02CORE Maintain customer
FD03 Display Customer (Accounting)
FD04 Customer Changes (Accounting)
FD05 Block Customer (Accounting)
FD06 Mark Customer for Deletion (Acctng)
FD08 Confirm Customer Individually(Actng)
FD09 Confirm Customer List (Accounting)
FD10 Customer Account Balance
FD10N Customer Balance Display
FD10NA Customer Bal. Display with Worklist
FD11 Customer Account Analysis
FD15 Transfer customer changes: send
FD16 Transfer customer changes: receive
FD24 Credit Limit Changes
FD32 Change Customer Credit Management
FD33 Display Customer Credit Management
FD37 Credit Management Mass Change
FDCU Loans customizing menu
FDFD Cash Management Implementation Tool
FDI0 Execute Report
FDI1 Create Report
FDI2 Change Report
FDI3 Display Report
FDI4 Create Form
FDI5 Change Form
FDI6 Display Form
FDIB Background Processing
FDIC Maintain Currency Translation Type
FDIK Maintain Key Figures
FDIM Report Monitor
FDIO Transport Reports
FDIP Transport Forms
FDIQ Import Reports from Client 000
FDIR Import Forms from Client 000
FDIT Translation Tool - Drilldown Report
FDIV Maintain Global Variable
FDIX Reorganize Drilldown Reports
FDIY Reorganize Report Data
FDIZ Reorganize Forms
FDK43 Credit Management - Master Data List
FDMN
FDOO Borrower's notes order overview
FDTA TemSe/REGUT Data Administration
FDTT Treasury Data Medium Administration
FEBA Postprocess Electronic Bank Statmt
FEBC Generate Multicash format
FEBMSG Display Internet Messages
FEBOAS Request Account Statement via OFX
FEBOFX OFX Functions
FEBP Post Electronic Bank Statement
FEBSTS Search String Search Simulation
FESR Importing of POR File (Switzerland)
FEUB Adjust VIBEPP after EURO conversion
FEUI Real Estate Implementation Guide
FF$3 Send planning data to central system
FF$4 Retrieve planning data
FF$5 Retrieve transmission results
FF$6 Check settings
FF$7 Check all external systems
FF$A Maintain TR-CM subsystems
FF$B Convert Planning Group
FF$C Convert planning level
FF$D Convert business areas
FF$L Display transmission information
FF$S Display transmission information
FF$X Configure the central TR-CM system
FF-1 Outstanding Checks
FF-2 Outstanding Bills of Exchange
FF-3 Cash Management Summary Records
FF-4 CMF Data In Accounting Documents
FF-5 CMF Records fr.Materials Management
FF-6 CMF Records from Sales
FF-7 Forecast Item Journal
FF-8 Payment Advice Journal
FF-9 Journal
FF.1 Standard G/L Account Interest Scale
FF.3 G/L Account Cashed Checks
FF.4 Vendor Cashed Checks
FF.5 Import Electronic Bank Statement
FF.6 Display Electronic Bank Statement
FF.7 Payment Advice Comparison
FF.8 Print Payment Orders
FF.9 Post Payment Orders
FF.D Generate payt req. from advices
FF/1 Compare Bank Terms
FF/2 Compare value date
FF/3 Archive advices from bank statements
FF/4 Import electronic check deposit list
FF/5 Post electronic check deposit list
FF/6 Deposit/loan mgmt analysis/posting
FF/7 Deposit/loan management int accruals
FF/8 Import Bank Statement into Cash Mgmt
FF/9 Compare Advices with Bank Statement
FF63 Create Planning Memo Record
FF65 List of Cash Management Memo Records
FF67 Manual Bank Statement
FF68 Manual Check Deposit Transaction
FF6A Edit Cash Mgmt Pos Payment Advices
FF6B Edit liquidity forecast planned item
FF70 Cash Mgmt Posit./Liquidity Forecast
FF71 Cash Position
FF72 Liquidity forecast
FF73 Cash Concentration
FF74 Use Program to Access Cash Concntn
FF7A Cash Position
FF7B Liquidity forecast
FF:1 Maintain exchange rates
FFB4 Import electronic check deposit list
FFB5 Post electronic check deposit list
FFL_OLD Display Transmission Information
FFS_OLD Display Transmission Information
FFTL Telephone list
FFW1 Wire Authorization
FFWR Post Payment Requests from Advice
FFWR_REQUESTS Create Payment Requests from Advice
FF_1 Standard G/L Account Interest Scale
FF_3 G/L Account Cashed Checks
FF_4 Vendor Cashed Checks
FF_5 Import Electronic Bank Statement
FF_6 Display Electronic Bank Statement
Regards,
Padmam. -
Hi,
I've set up an Invoice and Payment , for a customer allocated payment. I am then going to use this data in BAPI's to do this programmaticly. I use transaction F.13 to do the actual clearing, it seems to work finr in the test run - although it does not tell me what has been cleared. WhenI get rid of the test run , I get a message saying "This program run is a production run" and then I try and execute it, and it does nothing. I've checked the documents to see if they are cleared and they are not.
Any ideas anyone?
Thanks - SimsHi,
1) check the protocol/log of report SAPF124
2) check the customizing TA:OB74
3) try to clear with TA: FB05
regards Andreas -
Automatic allocation of incoming customer payments
Hi
I would like to know the configuration behind automatic allocation of incoming cash payments ,
RegardsHi Bhavana
If I understand your requirement right, there is no special customizing required for this.
When booking your incoming payments in F-28, enter all details, but in "Addional selections", select Document number and in the next screen, enter all the relevant invoices for which the payment is received and proceed posting the document.
Can you please test this and confirm whether this is what you are looking for.
Regards -
Posting pre-payment (Recurring) AP Invoice and subsequence cost allocation
Hi all
We're trying to find the best solution to processing Rent/Rates AP invoices, where we receive an invoice at the beginning of the year for 12 months worth of costs. We're OK with paying the invoice either by instalments or immediately, however once posted how can we get the costs to the correct forward period.
We are not using the Accruals Engine, Real Estate Module nor Service Purchase Orders.
We would like to create a purchase order, goods receipt and process the invoice via MIRA, however we're facing some challenges!
Would anyone have a solution to:
1. Would it be advantagous to have the goods receipt as valuated or not?
2. How can we ensure that the costs are being allocated into the correct forward period?
Any help would be much appreciated.
Kind regards
ElaineHi Elaine
You can set up recurring entry invoices that will execute on a certain day of the month and be paid as per the pay terms
Hope this helps
Deepa -
Payment advices in F110 to be sent by email (PDF format) - step by step
Hi SDN,
We have a requirement to automatically send payment advices in F110 via email. The requirement is to send the file in PDF format. I've done a lot of browsing through in the forums, as well as check SAP notes, but none has really detailed a step by step process on how to go about it.
I've also checked SAP NOTE 836169, but it is also not that detailed.
Assuming that SCOT has been already set up by BASIS, I've done the following steps to test if the auto-email works, and here are the steps I did.
1. Vendor Master Data -Define u2018Std communication methodu2019 as SMTP (Internet mail) and maintain an email address in the vendor master data.
3. T-Code BERP u2013 Code to find the relevant BTE. Use the Selection Attribute to browse for your business area. In my case, it is AP-Payment Transactions hence FI-AP-AP-PT.
00002040 is the relevant process. This is a Function called SAMPLE_PROCESS_00002040. In this case, the FM only checks for an email address in the Vendor Master. If more logic is required a Z-version would need to be created.
4. Use t-code FIBF to create the enhancement.
a) Create a product.
A product groups together customer enhancements to BTEu2019s developed in the customer's namespace. All customer enhancements assigned to a certain customer product can be released with the Activate Customer Product indicator. The OPEN_FI function module for a certain customer enhancement cannot find the corresponding customer function modules, until this has been done.
Create the product name (for example ZMAIL) and make it active.
FIBF->Settings->Products->u2026of a Customer
b) Assign the BTE to the FM:
Settings->Process Modules->u2026of a customer
Assign the 00002040 process to the FM and Product.
5. Run the autopayment program F110.
After I run the following steps, no email is being generated by the system. Is there anything that I still need to do? Or could anybody please kindly provide a step-by-step process? I'm a functional person, so I won't be able to do ABAP programming for this. Thanks and regards to allHello,
Check SCOT and SOST transactions.
At a previous client using 4.6C we did a program and allocated it in F110. The program reviewed the payment tables and sent the payment advice (basic list) to the employee vendors.
Also check http://wiki.sdn.sap.com/wiki/display/sandbox/SendMailwithPDFAttachment
Regards
Waza -
Calculation of customer payment performance by profit center
I want to calculate customer payment performance by profit center it is a report.
Caluation clue.
<b>Performance is a measure of when the payment was made versus the due date calculated by the payment terms</b>.
i want the logic to be included in the following code.
REPORT
TABLE DECLARATIONS
TABLES: BFOD_A, "FI subsequent BA/PC adjustment: Customer items
BSID, "Open Items
BSAD, "Cleared Items
BKPF, "Docuemnt Header
KNA1, "Customer Master
CEPCT, "Texts for Profit Center Master Data
CEPC, "Profit center master data table
SKB1, "G/L account master
VBFA, "Sales Document Flow
VBAK. "Sales Document: Header Data
CONTROLS: TABAGING TYPE TABLEVIEW USING SCREEN 9000.
FIELD-SYMBOLS: <COLUMN>.
Internal tables followed by types
TYPES: BEGIN OF T_TOTAL,
WAERS LIKE COEP-TWAER,
DAYS01 LIKE COEP-WTGBTR,
DAYS02 LIKE COEP-WTGBTR,
DAYS03 LIKE COEP-WTGBTR,
DAYS04 LIKE COEP-WTGBTR,
DAYS05 LIKE COEP-WTGBTR,
TOTAL LIKE COEP-WTGBTR,
END OF T_TOTAL.
DATA: V_DISVARIANT TYPE DISVARIANT,
REF_CUSTOM TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
REF_ALV_ZRPT TYPE REF TO CL_GUI_ALV_GRID.
DATA: V_SAVE(1) TYPE C,
V_DEFAULT(1) TYPE C,
V_VARIANT TYPE DISVARIANT,
V_SORT TYPE LVC_S_SORT,
V_LAYOUT TYPE LVC_S_LAYO,
V_SAVE_TABIX LIKE SY-TABIX,
V_SAVE_TIME LIKE SY-UZEIT,
V_ALV_FIELDCAT TYPE LVC_S_FCAT,
V_SAVE_INDEX LIKE SY-TABIX,
V_ROW TYPE LVC_S_ROW,
V_ROWS TYPE LINE OF LVC_T_ROW.
DATA: BEGIN OF V_HDR,
CURKY(9) TYPE C,
CURR(20) TYPE C,
COL1(20) TYPE C,
COL2(20) TYPE C,
COL3(20) TYPE C,
COL4(20) TYPE C,
TOTAL(20) TYPE C,
END OF V_HDR.
DATA: BEGIN OF V_FIELD,
NAME(15) TYPE C,
VALUE(17) TYPE C,
END OF V_FIELD.
DATA: BEGIN OF I_BFOD_A OCCURS 0,
PRCTR LIKE BFOD_A-PRCTR,
KUNNR LIKE BFOD_A-KUNNR,
BUKRS LIKE BFOD_A-BUKRS,
GJAHR LIKE BFOD_A-GJAHR,
BELNR LIKE BFOD_A-BELNR,
BUZEI LIKE BFOD_A-BUZEI,
AUGDT LIKE BFOD_A-AUGDT,
HKONT LIKE BFOD_A-HKONT,
BUDAT LIKE BFOD_A-BUDAT,
SHKZG LIKE BFOD_A-SHKZG,
DMBTR LIKE BFOD_A-DMBTR,
DMBE2 LIKE BFOD_A-DMBE2,
END OF I_BFOD_A.
DATA: I_SET_VALUES LIKE SETVALUES OCCURS 0 WITH HEADER LINE,
I_SORT TYPE LVC_T_SORT,
I_ALV_FIELDCAT TYPE LVC_T_FCAT,
I_PRCTR_COCD TYPE FCINPCA001 OCCURS 0 WITH HEADER LINE,
I_BFODA_KUNNR LIKE I_BFOD_A OCCURS 0 WITH HEADER LINE,
Begin of changes for DEVK909110
I_REPORT TYPE ZFR0ARPR_S1 OCCURS 0 WITH HEADER LINE,
I_REPORT TYPE ZPSS_ARBYPC OCCURS 0 WITH HEADER LINE,
End of changes for DEVK909110
I_FAEDE LIKE FAEDE,
I_TOTAL TYPE T_TOTAL OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF I_BKPF OCCURS 0,
BUKRS LIKE BKPF-BUKRS,
BELNR LIKE BKPF-BELNR,
GJAHR LIKE BKPF-GJAHR,
BKTXT LIKE BKPF-BKTXT,
XBLNR LIKE BKPF-XBLNR,
HWAER LIKE BKPF-HWAER,
HWAE2 LIKE BKPF-HWAE2,
END OF I_BKPF.
*... combine BSAD and BSID
DATA: BEGIN OF I_BSYD OCCURS 0,
KUNNR LIKE BSID-KUNNR,
BUKRS LIKE BSID-BUKRS,
GJAHR LIKE BSID-GJAHR,
BELNR LIKE BSID-BELNR,
BUZEI LIKE BSID-BUZEI,
AUGDT LIKE BSID-AUGDT,
BLDAT LIKE BSID-BLDAT,
BUDAT LIKE BSID-BUDAT,
HKONT LIKE BSID-HKONT,
WAERS LIKE BSID-WAERS,
ZFBDT LIKE BSID-ZFBDT,
ZBD1T LIKE BSID-ZBD1T,
ZBD2T LIKE BSID-ZBD2T,
ZBD3T LIKE BSID-ZBD3T,
XBLNR LIKE BSID-XBLNR,
REBZG LIKE BSID-REBZG,
SHKZG LIKE BSID-SHKZG,
DMBTR LIKE BSID-DMBTR,
WRBTR LIKE BSID-WRBTR,
END OF I_BSYD.
DATA: BEGIN OF I_CEPC OCCURS 0,
PRCTR LIKE CEPC-PRCTR,
KHINR LIKE CEPC-KHINR,
END OF I_CEPC.
DATA: BEGIN OF I_CEPCT OCCURS 0,
PRCTR LIKE CEPCT-PRCTR,
MCTXT LIKE CEPCT-MCTXT,
END OF I_CEPCT.
DATA: BEGIN OF I_PRCTR OCCURS 0,
PRCTR LIKE BFOD_A-PRCTR,
END OF I_PRCTR.
DATA: BEGIN OF I_KNA1 OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF I_KNA1.
Working Variables Declarations
*... accumulators
DATA: V_BFOD_TXNAMT LIKE BSID-WRBTR, "transaction currency amt
V_FRCURR LIKE TCURR-FCURR, "local currency
V_TOCURR LIKE TCURR-FCURR, "local currency
V_LCURR LIKE T001-WAERS, "local currency
V_CUSTTOTUSD LIKE BFOD_A-DMBE2, "customer total grp curr
V_TOTAL LIKE BPPE-WTP03, "days total grp curr
V_CURRENT LIKE BPPE-WTP03, "days current grp curr
V_TOTAL_USD LIKE BPPE-WTP03, "days total grp curr
V_TOTAL_ROW LIKE BPPE-WTP03. "total of local curr/row
DATA: V_PRCTR LIKE CEPC-PRCTR, "profit center
V_SUBRC LIKE SY-SUBRC,
V_FLAG TYPE I,
V_DPAST TYPE I, "past due days working
V_GRAND TYPE C,
V_DIFF_COLOR TYPE C,
V_MSG(50) TYPE C,
V_SAVE_PCFN(128) TYPE C,
V_EXTENSION(4) TYPE C,
V_PREV_PRCTR LIKE CEPC-PRCTR,
V_POS LIKE SY-FDPOS,
V_SAVE_BUKRS LIKE BFOD_A-BUKRS,
V_SAVE_KHINR LIKE CEPC-KHINR,
V_PERC TYPE P DECIMALS 10,
V_ZBD1T LIKE BSID-ZBD1T,
V_ZFBDT LIKE BSID-ZFBDT,
V_GROUP_CLASS LIKE RGSBS-CLASS,
V_GROUP_NAME LIKE RGSBS-SETNR,
V_GROUP_TITLE LIKE RGSBS-TITLE,
V_SETID LIKE SETHIER-SETID,
V_FILETYPE LIKE RLGRAP-FILETYPE VALUE 'DAT',
V_CNT LIKE SY-TABIX,
V_PREV_BELNR LIKE BSID-BELNR,
V_REPORT1 LIKE I_REPORT,
V_REPORT LIKE I_REPORT,
V_TABIX LIKE SY-TABIX.
Constants
CONSTANTS:
C_0H(2) TYPE C VALUE '0H',
C_0106(4) TYPE C VALUE '0106',
C_SPACE(11) TYPE C VALUE ' ',
C_USD(3) TYPE C VALUE 'USD',
C_KBRC LIKE CEPC-KOKRS VALUE 'KBRC',
C_TXT(4) TYPE C VALUE '.txt',
C_XLS(4) TYPE C VALUE '.xls',
C_RTF(4) TYPE C VALUE '.rtf',
C_PERIOD(1) TYPE C VALUE '.',
C_TODATE LIKE CEPC-DATBI VALUE '99991231'.
RANGES: R_KUNNR FOR KNA1-KUNNR. "Customer
Selection Screen Parameters and Select-options
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_KHINR LIKE CEPC-KHINR.
SELECT-OPTIONS: S_PRCTR FOR CEPC-PRCTR,
S_KUNNR FOR KNA1-KUNNR,
S_BUKRS FOR BKPF-BUKRS,
S_HKONT FOR SKB1-SAKNR.
PARAMETERS: P_BUDAT LIKE BFOD_A-BUDAT OBLIGATORY.
SELECTION-SCREEN ULINE.
SELECT-OPTIONS: S_BELNR FOR BFOD_A-BELNR,
S_AUART FOR VBAK-AUART,
S_VTWEG FOR VBAK-VTWEG,
S_VBTYP FOR VBFA-VBTYP_V.
SELECTION-SCREEN ULINE.
PARAMETERS: P_AGEDY TYPE ZZAGEMULT DEFAULT '30' OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.
PARAMETERS: P_DSVAR LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK B2.
class lcl_event_receiver: local class to handle event DOUBLE_CLICK
Definition:
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
MTH_PRINT_TOP_OF_PAGE
FOR EVENT PRINT_TOP_OF_PAGE OF CL_GUI_ALV_GRID.
METHODS:
MTH_PRINT_TOP_OF_LIST
FOR EVENT PRINT_TOP_OF_LIST OF CL_GUI_ALV_GRID.
PRIVATE SECTION.
ENDCLASS. "lcl_event_receiver DEFINITION
class lcl_event_receiver: local class to handle event DOUBLE_CLICK
Implementation:
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD MTH_PRINT_TOP_OF_PAGE.
CALL FUNCTION 'Z_CA_STD_HEADER'
EXPORTING
HEADING = SY-TITLE
P_REPID = SY-CPROG
LINE_WIDTH = SY-LINSZ.
ENDMETHOD. "MTH_PRINT_TOP_OF_PAGE
METHOD MTH_PRINT_TOP_OF_LIST.
CALL FUNCTION 'Z_CA_STD_HEADER'
EXPORTING
HEADING = SY-TITLE
P_REPID = SY-CPROG
LINE_WIDTH = SY-LINSZ.
CALL FUNCTION 'Z_CA_PRINT_SELECTION_OPTIONS'
EXPORTING
P_PGMN = SY-CPROG
P_SKIP = 'X'
P_NOTOP = 'X'.
NEW-PAGE.
ENDMETHOD. "MTH_PRINT_TOP_OF_LIST
ENDCLASS. "LCL_EVENT_RECEIVER IMPLEMENTATION
DATA: REF_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.
Selection Screen Prompt values
At Selection Screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_DSVAR.
DATA: LS_DISPLAY_VARIANT TYPE DISVARIANT.
Get the display variant
V_DISVARIANT-REPORT = SY-CPROG.
V_DISVARIANT-VARIANT = P_DSVAR.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = V_DISVARIANT
I_SAVE = 'A'
IMPORTING
ES_VARIANT = LS_DISPLAY_VARIANT
EXCEPTIONS
OTHERS = 3.
Load results to parameter
IF SY-SUBRC = 0 AND NOT LS_DISPLAY_VARIANT IS INITIAL.
P_DSVAR = LS_DISPLAY_VARIANT-VARIANT.
ENDIF.
*...performed when looking for values in fields
performs the drop down selection list
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_KHINR. "Profit center grp
PERFORM F_GET_S_KHINR.
Selection Screen validations
AT SELECTION-SCREEN.
IF P_KHINR IS INITIAL.
IF S_PRCTR[] IS INITIAL.
IF S_BUKRS[] IS INITIAL.
MESSAGE E000 WITH TEXT-300 TEXT-302.
ENDIF.
ENDIF.
ELSE.
IF S_PRCTR[] IS INITIAL.
PERFORM F_VALIDATE_KHINR.
ELSE.
*.. Error msg: Please enter either a Profit Center Group or a
profit center, but not both
MESSAGE E000 WITH TEXT-300 TEXT-301.
EXIT.
ENDIF.
ENDIF.
IF NOT S_AUART[] IS INITIAL.
MESSAGE E000 WITH TEXT-303.
ENDIF.
IF NOT S_VTWEG[] IS INITIAL.
MESSAGE E000 WITH TEXT-304.
ENDIF.
Event AT LINE-SELECTION
AT LINE-SELECTION.
CHECK SY-LSIND LE 1.
CHECK NOT I_REPORT-BELNR IS INITIAL.
SET PARAMETER ID 'BLN' FIELD I_REPORT-BELNR.
SET PARAMETER ID 'BUK' FIELD I_REPORT-BUKRS.
SET PARAMETER ID 'GJR' FIELD I_REPORT-GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
CLEAR: I_REPORT-BELNR, I_REPORT-BUKRS, I_REPORT-GJAHR.
INITIALIZATION
INITIALIZATION.
START OF MAIN PROCESSING
START-OF-SELECTION.
Check aging days multiplier
IF P_AGEDY LE 0.
MESSAGE S000 WITH 'Aging Days Multiplier must be greater than zero'.
EXIT.
ENDIF.
Populate the s_prctr from a profit center group
IF NOT I_SET_VALUES[] IS INITIAL.
PERFORM F_POPULATE_PRCTR_FROM_PRCTRGRP.
ENDIF.
Build and validate prctr against cepc table
IF NOT S_PRCTR[] IS INITIAL.
PERFORM F_BUILD_I_CEPC_TABLE. "FILLS THE VALID PROFIT CTR TABLE
ENDIF.
Get base selections
PERFORM F_SELECT_DATA. "BUILD REF INTERNAL TABLES
Get additional fields and build reporting structure
PERFORM F_BUILD_I_REPORT. "BUILDS INTERNAL REPORTING TABLE
Generate ALV report
PERFORM F_WRITE_REPORT. "WRITES i_report AND RUNS CALCS
END-OF-SELECTION.
FREE: I_BFOD_A, I_KNA1, I_CEPC, I_CEPCT, I_REPORT.
Form F_DIS_MSG
FORM F_DIS_MSG USING VALUE(P_PERCENTAGE) VALUE(P_TEXT).
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = P_PERCENTAGE
TEXT = P_TEXT
EXCEPTIONS
OTHERS = 1.
ENDFORM. " F_DIS_MSG
Form F_GET_S_KHINR
Get prompt values for Profit Center Group
FORM F_GET_S_KHINR.
PERFORM F_DIS_MSG USING 100 'Get prompt values for Profit Ctr Group.'.
COMMIT WORK.
CALL FUNCTION 'K_GROUP_SELECT'
EXPORTING
BUTTONS = 'X'
CLASS = '0H '
CRUSER = '*'
FIELD_NAME = 'RPRCTR'
SEARCHFLD = 'KBRC'
SEARCHFLD_INPUT = ' '
SEARCHFLD_REQUIRED = 'X'
SET = '*'
START_COLUMN = 10
START_ROW = 5
TABLE = 'GLPCT'
TYPELIST = 'BS'
UPDUSER = '*'
IMPORTING
CLASS_NAME = V_GROUP_CLASS
SET_NAME = V_GROUP_NAME
SET_TITLE = V_GROUP_TITLE
EXCEPTIONS
NO_SET_PICKED = 1
OTHERS = 2.
IF SY-SUBRC = 0.
P_KHINR = V_GROUP_NAME.
ENDIF.
ENDFORM. " F_GET_S_KHINR
FORM F_VALIDATE_KHINR *
FORM F_VALIDATE_KHINR.
PERFORM F_DIS_MSG USING 100 'Validate Profit Center group.'.
COMMIT WORK.
CLEAR I_SET_VALUES.
REFRESH I_SET_VALUES.
CONCATENATE C_0106 C_KBRC P_KHINR INTO V_SETID.
CONDENSE V_SETID.
CALL FUNCTION 'G_SET_TREE_IMPORT'
EXPORTING
CLIENT = SY-MANDT
FIELDNAME = 'RPRCTR'
LANGU = SY-LANGU
SETID = V_SETID
TABNAME = 'GLPCT'
NO_TABLE_BUFFERING = 'X'
TABLES
SET_VALUES = I_SET_VALUES
EXCEPTIONS
SET_NOT_FOUND = 1
ILLEGAL_FIELD_REPLACEMENT = 2
ILLEGAL_TABLE_REPLACEMENT = 3
OTHERS = 4.
IF SY-SUBRC NE 0.
E: Unable to find Profit Center Group & - please modify selection
MESSAGE E000 WITH TEXT-002 P_KHINR.
ENDIF.
IF I_SET_VALUES[] IS INITIAL.
MESSAGE E000 WITH P_KHINR TEXT-039.
ENDIF.
ENDFORM. " F_VALIDATE_KHINR
Form F_SELECT_DATA
FORM F_SELECT_DATA.
PERFORM F_DIS_MSG USING 100 'Retrieve info from SAP tables.'.
COMMIT WORK.
Build the BFOD_A internal table based on user selections
f i_cepc table is initial, it means derive all prctr under a co cd
IF S_PRCTR[] IS INITIAL.
PERFORM F_RETRIEVE_BFODA_BY_COMPANY.
ELSE.
PERFORM F_RETRIEVE_BFODA_BY_PRCTR.
ENDIF.
IF I_BFOD_A[] IS INITIAL.
*... No records fit selection criteria.
MESSAGE E000 WITH TEXT-H20.
ENDIF.
Get the text for profit center
SELECT SPRAS PRCTR DATBI KOKRS MCTXT FROM CEPCT
INTO CORRESPONDING FIELDS OF TABLE I_CEPCT
FOR ALL ENTRIES IN I_CEPC
WHERE SPRAS = SY-LANGU
AND PRCTR = I_CEPC-PRCTR.
Build an internal table of unique bfod keys for bsid and bsad
I_BFODA_KUNNR[] = I_BFOD_A[].
SORT I_BFODA_KUNNR BY KUNNR BUKRS GJAHR BELNR BUZEI.
DELETE ADJACENT DUPLICATES FROM I_BFODA_KUNNR COMPARING
KUNNR BUKRS GJAHR BELNR BUZEI.
Build BSID Internal table
SELECT MANDT BUKRS KUNNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR
BUZEI BUDAT HKONT BLDAT WAERS REBZG XBLNR SHKZG DMBTR
WRBTR ZFBDT ZBD1T ZBD2T ZBD3T
FROM BSID INTO CORRESPONDING FIELDS OF TABLE I_BSYD
FOR ALL ENTRIES IN I_BFODA_KUNNR
WHERE KUNNR EQ I_BFODA_KUNNR-KUNNR
AND BUKRS EQ I_BFODA_KUNNR-BUKRS
AND GJAHR EQ I_BFODA_KUNNR-GJAHR
AND BELNR EQ I_BFODA_KUNNR-BELNR
AND BUZEI EQ I_BFODA_KUNNR-BUZEI.
Build BSAD internal table
SELECT MANDT BUKRS KUNNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR
BUZEI HKONT BUDAT BLDAT WAERS REBZG XBLNR SHKZG DMBTR WRBTR ZFBDT
ZBD1T ZBD2T ZBD3T
FROM BSAD APPENDING CORRESPONDING FIELDS OF TABLE I_BSYD
FOR ALL ENTRIES IN I_BFODA_KUNNR
WHERE KUNNR EQ I_BFODA_KUNNR-KUNNR
AND BUKRS EQ I_BFODA_KUNNR-BUKRS
AND AUGDT GT P_BUDAT
AND GJAHR EQ I_BFODA_KUNNR-GJAHR
AND BELNR EQ I_BFODA_KUNNR-BELNR
AND BUZEI EQ I_BFODA_KUNNR-BUZEI.
IF NOT I_BSYD[] IS INITIAL.
Remove records based on selection criteria
DELETE I_BSYD WHERE
NOT BUDAT LE P_BUDAT OR
NOT HKONT IN S_HKONT.
ENDIF.
Acquire document headers
SELECT BUKRS BELNR GJAHR BKTXT XBLNR HWAER HWAE2 FROM BKPF
INTO TABLE I_BKPF
FOR ALL ENTRIES IN I_BSYD
WHERE BUKRS EQ I_BSYD-BUKRS
AND BELNR EQ I_BSYD-BELNR
AND GJAHR EQ I_BSYD-GJAHR.
Sort document lines
SORT I_BSYD BY KUNNR BUKRS GJAHR BELNR BUZEI ASCENDING.
SORT I_BKPF BY BUKRS BELNR GJAHR ASCENDING.
Create table of unique customers
SORT I_BFODA_KUNNR BY KUNNR.
DELETE ADJACENT DUPLICATES FROM I_BFODA_KUNNR COMPARING KUNNR.
Build customer table
SELECT KUNNR NAME1 FROM KNA1
INTO TABLE I_KNA1
FOR ALL ENTRIES IN I_BFODA_KUNNR
WHERE KUNNR EQ I_BFODA_KUNNR-KUNNR.
Free memory space
FREE I_BFODA_KUNNR.
ENDFORM. " F_SELECT_DATA
Form F_BUILD_I_CEPC_TABLE
build the i_cepc internal table that would populate the
valid profit centers to processed.
FORM F_BUILD_I_CEPC_TABLE.
PERFORM F_DIS_MSG USING 100 'Build the Profit Center Ref Table.'.
COMMIT WORK.
Acquire CEPC table
IF I_PRCTR[] IS INITIAL.
SORT S_PRCTR.
SELECT PRCTR KHINR
FROM CEPC
INTO TABLE I_CEPC
WHERE PRCTR IN S_PRCTR.
Sort table
SORT I_CEPC BY PRCTR KHINR.
Remove duplicate values
DELETE ADJACENT DUPLICATES FROM I_CEPC COMPARING PRCTR.
I_PRCTR[] = I_CEPC[].
Sort table
SORT I_PRCTR BY PRCTR.
ELSE.
Sort table
SORT I_PRCTR BY PRCTR.
Acquire CEPC table
SELECT PRCTR KHINR
FROM CEPC
INTO TABLE I_CEPC
FOR ALL ENTRIES IN I_PRCTR
WHERE PRCTR = I_PRCTR-PRCTR.
SOrt table
SORT I_CEPC BY PRCTR KHINR.
ENDIF.
IF I_CEPC[] IS INITIAL.
MESSAGE E000 WITH TEXT-006.
ENDIF.
ENDFORM. " F_BUILD_i_CEPC_TABLE
Form F_BUILD_I_REPORT
Build the A/R report internal table from bfod_a, bsid and bsad
It is necessary to go to BSAD/BSID to get the document currency
not present in bfod_a.
FORM F_BUILD_I_REPORT.
PERFORM F_DIS_MSG USING 100 'Build the report information.'.
COMMIT WORK.
Sort all internal tables, this is essential for later processing
SORT I_BFOD_A BY KUNNR BUKRS GJAHR BELNR BUZEI .
SORT I_BSYD BY KUNNR BUKRS GJAHR BELNR BUZEI.
SORT I_CEPC BY PRCTR KHINR.
LOOP AT I_BFOD_A.
New customer
AT NEW KUNNR.
READ TABLE I_KNA1 WITH KEY KUNNR = I_BFOD_A-KUNNR BINARY SEARCH.
IF SY-SUBRC EQ 0.
MOVE I_KNA1-NAME1 TO I_REPORT-NAME1.
ENDIF.
ENDAT.
Acquire header fields
READ TABLE I_BKPF WITH KEY BUKRS = I_BFOD_A-BUKRS
BELNR = I_BFOD_A-BELNR
GJAHR = I_BFOD_A-GJAHR BINARY SEARCH.
IF SY-SUBRC NE 0.
CLEAR I_BKPF.
ENDIF.
Build base record
PERFORM F_MOVE_BASE_TO_REPORT.
Load profit center data
IF P_KHINR IS INITIAL.
IF V_PREV_PRCTR = I_BFOD_A-PRCTR.
I_REPORT-KHINR = I_CEPC-KHINR.
ELSE.
READ TABLE I_CEPC WITH KEY PRCTR = I_BFOD_A-PRCTR BINARY SEARCH.
IF SY-SUBRC = 0.
I_REPORT-KHINR = I_CEPC-KHINR.
ELSE.
CLEAR I_REPORT-KHINR.
ENDIF.
V_PREV_PRCTR = I_BFOD_A-PRCTR.
ENDIF.
ELSE.
I_REPORT-KHINR = P_KHINR.
ENDIF.
Reverse signs
IF I_REPORT-SHKZG = 'H'.
I_REPORT-DMBTR = I_REPORT-DMBTR * -1.
I_REPORT-DMBE2 = I_REPORT-DMBE2 * -1.
ENDIF.
Additional details
READ TABLE I_BSYD WITH KEY KUNNR = I_BFOD_A-KUNNR
BUKRS = I_BFOD_A-BUKRS
GJAHR = I_BFOD_A-GJAHR
BELNR = I_BFOD_A-BELNR
BUZEI = I_BFOD_A-BUZEI BINARY SEARCH.
IF SY-SUBRC = 0.
PERFORM F_FORMAT_I_REPORT_FR_BSYD.
APPEND I_REPORT.
ENDIF.
ENDLOOP.
ENDFORM. " F_BUILD_I_REPORT
Form F_FORMAT_I_REPORT_FR_BSYD
Retrieve all the information needed for reporting from BSID.
If a document has a referencing invoice (REBZG), the payment terms
and the baseline date to be used will come from the referencing
invoice.
FORM F_FORMAT_I_REPORT_FR_BSYD.
*=> get the document currency amount from bsid
I_REPORT-BLDAT = I_BSYD-BLDAT.
I_REPORT-WAERS = I_BSYD-WAERS.
PERFORM F_CONVERT_CURRENCY_FR_2_AMTS USING I_REPORT-HWAER I_BSYD-WAERS
I_BSYD-DMBTR I_BSYD-WRBTR
I_BFOD_A-DMBTR
CHANGING V_BFOD_TXNAMT.
I_REPORT-WRBTR = V_BFOD_TXNAMT.
IF I_BSYD-SHKZG = 'H'.
I_REPORT-WRBTR = I_REPORT-WRBTR * -1.
ENDIF.
V_ZBD1T = I_BSYD-ZBD1T.
V_ZFBDT = I_BSYD-ZFBDT.
*=> determine reference document (referencing invoice)
CLEAR I_REPORT-SORT.
CASE I_BSYD-REBZG.
WHEN ' '.
I_REPORT-SORT = I_BFOD_A-BELNR.
WHEN 'V'.
I_REPORT-SORT = I_BSYD-XBLNR.
WHEN OTHERS.
I_REPORT-SORT = I_BSYD-REBZG.
PERFORM F_GET_DATEPAYTERM_FR_ORIGDOC.
ENDCASE.
CLEAR I_FAEDE.
I_FAEDE-SHKZG = I_BSYD-SHKZG.
I_FAEDE-KOART = 'D'.
I_FAEDE-ZFBDT = I_BSYD-ZFBDT.
I_FAEDE-ZBD1T = I_BSYD-ZBD1T.
I_FAEDE-ZBD2T = I_BSYD-ZBD2T.
I_FAEDE-ZBD3T = I_BSYD-ZBD3T.
I_FAEDE-REBZG = I_BSYD-REBZG.
I_FAEDE-BLDAT = I_BSYD-BLDAT.
CALL FUNCTION 'DETERMINE_DUE_DATE'
EXPORTING
I_FAEDE = I_FAEDE
IMPORTING
E_FAEDE = I_FAEDE
EXCEPTIONS
ACCOUNT_TYPE_NOT_SUPPORTED = 1
OTHERS = 2.
V_DPAST = P_BUDAT - I_FAEDE-NETDT.
IF V_DPAST < 0.
I_REPORT-DPAST = 0.
ELSE.
MOVE V_DPAST TO I_REPORT-DPAST.
ENDIF.
I_REPORT-ZBD1T = V_ZBD1T.
I_REPORT-NETDT = I_FAEDE-NETDT.
Update totals
PERFORM F_BUILD_TOTALS.
ENDFORM. " F_FORMAT_I_REPORT_FR_BSYD
Form F_GET_DATEPAYTERM_FR_ORIGDOC
FORM F_GET_DATEPAYTERM_FR_ORIGDOC.
In order to go back to the original document's payment terms and
baseline date, we neeed to resort bsid/bsad to a different sort
order b-coz only these 3 fields logically matched the orig doc
SORT I_BSYD BY KUNNR BUKRS BELNR.
READ TABLE I_BSYD WITH KEY KUNNR = I_BFOD_A-KUNNR
BUKRS = I_BFOD_A-BUKRS
BELNR = I_REPORT-SORT BINARY SEARCH.
IF SY-SUBRC = 0.
V_ZBD1T = I_BSYD-ZBD1T. "payment term
V_ZFBDT = I_BSYD-ZFBDT. "baseline due date
ENDIF.
SORT I_BSYD BY KUNNR BUKRS GJAHR BELNR BUZEI.
ENDFORM. " F_GET_DATEPAYTERM_FR_ORIGDOC
Form F_WRITE_REPORT
Write A/R report summarized by profit center.
Report will be build by profit center and sum all customers
then will sum past do for profit center and catagorized
will also sum by project / wbs element.
FORM F_WRITE_REPORT.
SORT I_REPORT BY PRCTR KUNNR SORT BLDAT BELNR DPAST DESCENDING.
CALL SCREEN 9000.
ENDFORM. " F_WRITE_REPORT
Form F_POPULATE_PRCTR_FROM_PRCTRGRP
FORM F_POPULATE_PRCTR_FROM_PRCTRGRP.
LOOP AT I_SET_VALUES.
IF I_SET_VALUES-TO = I_SET_VALUES-FROM.
I_PRCTR-PRCTR = I_SET_VALUES-TO.
COLLECT I_PRCTR.
S_PRCTR-SIGN = 'I'.
S_PRCTR-OPTION = 'EQ'.
S_PRCTR-LOW = I_SET_VALUES-TO.
COLLECT S_PRCTR.
ELSE.
MESSAGE E000 WITH 'System Error, contact programmer'
I_SET_VALUES-TO I_SET_VALUES-FROM.
ENDIF.
ENDLOOP.
ENDFORM. " F_POPULATE_PRCTR_FROM_PRCTRGRP
Form F_CONVERT_CURRENCY_FR_2_AMTS
This function module will ensure proper handling of decimals
and conversion of currency. This will give you the historical
exchange rate used.
BFOD_A does not have the trans curr amt so we will get it
using: ( bsid trans curr amt / bsid loc curr amt ) *
bfod_a loc currency amt
FORM F_CONVERT_CURRENCY_FR_2_AMTS USING V_FRCURR V_TOCURR
V_OFRAMT V_OTOAMT V_NFRAMT
CHANGING V_NTOAMT.
CALL FUNCTION 'Z_CONVERT_CURRENCY_FROM_2_AMTS'
EXPORTING
FROM_CURRENCY = V_FRCURR
TO_CURRENCY = V_TOCURR
OLD_FROM_AMOUNT = V_OFRAMT
OLD_TO_AMOUNT = V_OTOAMT
NEW_FROM_AMOUNT = V_NFRAMT
IMPORTING
NEW_TO_AMOUNT = V_NTOAMT
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH TEXT-005.
ENDIF.
ENDFORM. " F_CONVERT_CURRENCY_FR_2_AMTS
Form F_RETRIEVE_BFODA_BY_COMPANY
FORM F_RETRIEVE_BFODA_BY_COMPANY.
Acquire BFOD_A table
SELECT PRCTR KUNNR BUKRS GJAHR BELNR BUZEI AUGDT HKONT BUDAT
SHKZG DMBTR DMBE2 FROM BFOD_A
INTO TABLE I_BFOD_A
WHERE BUKRS IN S_BUKRS.
IF I_BFOD_A[] IS INITIAL.
EXIT.
ELSE.
Remove records based on selection criteria
DELETE I_BFOD_A WHERE NOT KUNNR IN S_KUNNR OR
NOT BUDAT LE P_BUDAT OR
NOT HKONT IN S_HKONT OR
NOT BELNR IN S_BELNR OR
( NOT AUGDT IS INITIAL AND
NOT AUGDT > P_BUDAT ).
ENDIF.
Build selection option
LOOP AT I_BFOD_A.
I_PRCTR-PRCTR = I_BFOD_A-PRCTR.
COLLECT I_PRCTR.
S_PRCTR-SIGN = 'I'.
S_PRCTR-OPTION = 'EQ'.
S_PRCTR-LOW = I_BFOD_A-PRCTR.
COLLECT S_PRCTR.
ENDLOOP.
SORT S_PRCTR.
SORT I_PRCTR BY PRCTR.
PERFORM F_BUILD_I_CEPC_TABLE.
ENDFORM. " F_RETRIEVE_BFODA_BY_COMPANY
Form F_RETRIEVE_BFODA_BY_PRCTR
FORM F_RETRIEVE_BFODA_BY_PRCTR.
Acquire BFOD_A table
SELECT PRCTR KUNNR BUKRS GJAHR BELNR BUZEI AUGDT HKONT BUDAT
SHKZG DMBTR DMBE2 FROM BFOD_A
INTO TABLE I_BFOD_A
FOR ALL ENTRIES IN I_PRCTR
WHERE PRCTR = I_PRCTR-PRCTR AND
KUNNR IN S_KUNNR AND
BUKRS IN S_BUKRS.
IF I_BFOD_A[] IS INITIAL.
EXIT.
ELSE.
Remove records based on selection criteria
DELETE I_BFOD_A WHERE NOT KUNNR IN S_KUNNR OR
NOT BUKRS IN S_BUKRS OR
NOT BUDAT LE P_BUDAT OR
NOT HKONT IN S_HKONT OR
NOT BELNR IN S_BELNR OR
( NOT AUGDT IS INITIAL AND
NOT AUGDT > P_BUDAT ).
ENDIF.
ENDFORM. " F_RETRIEVE_BFODA_BY_PRCTR
Form F_MOVE_BASE_TO_REPORT
FORM F_MOVE_BASE_TO_REPORT.
I_REPORT-PRCTR = I_BFOD_A-PRCTR.
I_REPORT-KUNNR = I_BFOD_A-KUNNR.
I_REPORT-BELNR = I_BFOD_A-BELNR.
I_REPORT-BUKRS = I_BFOD_A-BUKRS.
I_REPORT-HKONT = I_BFOD_A-HKONT.
I_REPORT-AUGDT = I_BFOD_A-AUGDT.
I_REPORT-BUDAT = I_BFOD_A-BUDAT.
I_REPORT-GJAHR = I_BFOD_A-GJAHR.
I_REPORT-BUZEI = I_BFOD_A-BUZEI.
I_REPORT-SHKZG = I_BFOD_A-SHKZG.
I_REPORT-DMBTR = I_BFOD_A-DMBTR.
I_REPORT-DMBE2 = I_BFOD_A-DMBE2.
I_REPORT-HWAER = I_BKPF-HWAER.
I_REPORT-HWAE2 = I_BKPF-HWAE2.
I_REPORT-BKTXT = I_BKPF-BKTXT.
I_REPORT-XBLNR = I_BKPF-XBLNR.
ENDFORM. " F_MOVE_BASE_TO_REPORT
Module STATUS_9000 OUTPUT
text
MODULE STATUS_9000 OUTPUT.
SET PF-STATUS '9000'.
SET TITLEBAR '900'.
Launch standard ALV grid
PERFORM F_CREATE_ALV_GRID_CONTROL.
PERFORM F_LOAD_COLUMN_HEADINGS.
ENDMODULE. " STATUS_9000 OUTPUT
Module USER_COMMAND_9000 INPUT
text
MODULE USER_COMMAND_9000 INPUT.
CASE SY-UCOMM.
WHEN 'EXIT' OR 'CANC' OR 'BACK'.
CALL METHOD REF_CUSTOM->FREE.
SET SCREEN 0.
LEAVE SCREEN.
Begin of changes for Release 2 by HBE7890 - DEVK909110
WHEN 'PRIN'.
PERFORM PRINT_AGING_TOTALS.
End of changes.
ENDCASE.
ENDMODULE. " USER_COMMAND_9000 INPUT
Form F_CREATE_ALV_GRID_CONTROL
text
FORM F_CREATE_ALV_GRID_CONTROL.
Set field catalog for ALV
PERFORM F_SET_FIELDCAT.
IF REF_CUSTOM IS INITIAL.
Create ALV container
CREATE OBJECT REF_CUSTOM
EXPORTING
CONTAINER_NAME = 'ZRPT_CONTAINER'.
Create ALV grid control
CREATE OBJECT REF_ALV_ZRPT
EXPORTING
I_PARENT = REF_CUSTOM.
Adjust look and feel
PERFORM F_CHANGE_SETTINGS.
Call the ALV Build
CALL METHOD REF_ALV_ZRPT->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_LAYOUT = V_LAYOUT
IS_VARIANT = V_VARIANT
I_SAVE = V_SAVE
I_DEFAULT = V_DEFAULT
CHANGING
IT_SORT = I_SORT
IT_OUTTAB = I_REPORT[]
IT_FIELDCATALOG = I_ALV_FIELDCAT[].
Create print top of page
CREATE OBJECT REF_EVENT_RECEIVER.
SET HANDLER REF_EVENT_RECEIVER->MTH_PRINT_TOP_OF_PAGE
FOR REF_ALV_ZRPT.
Create print top of page
CREATE OBJECT REF_EVENT_RECEIVER.
SET HANDLER REF_EVENT_RECEIVER->MTH_PRINT_TOP_OF_LIST
FOR REF_ALV_ZRPT.
ENDIF.
ENDFORM. " F_CREATE_ALV_GRID_CONTROL
Form F_CHANGE_SETTINGS
text
FORM F_CHANGE_SETTINGS .
Set layout parameters
V_LAYOUT-GRID_TITLE = 'A/R by Profit Center'.
V_LAYOUT-SEL_MODE = 'A'.
V_LAYOUT-INFO_FNAME = 'LINECOLOR'.
V_LAYOUT-CWIDTH_OPT = 'X'.
V_LAYOUT-NO_MERGING = 'X'.
V_LAYOUT-NUMC_TOTAL = 'X'.
V_DEFAULT = 'X'.
V_SAVE = 'A'.
Set display variant
V_VARIANT-REPORT = SY-REPID.
IF P_DSVAR NE ''.
V_VARIANT-VARIANT = P_DSVAR.
ENDIF.
ENDFORM. " F_CHANGE_SETTINGS
Form F_SET_FIELDCAT
text
FORM F_SET_FIELDCAT .
Set field catalog for ALV
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME = 'ZFR0ARPR_S1' "DEVK909110
I_STRUCTURE_NAME = 'ZPSS_ARBYPC' "DEVK909110
CHANGING
CT_FIELDCAT = I_ALV_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.
Override any attributes
LOOP AT I_ALV_FIELDCAT INTO V_ALV_FIELDCAT.
IF V_ALV_FIELDCAT-FIELDNAME EQ 'NAME1'.
MOVE 'Customer Name' TO: V_ALV_FIELDCAT-REPTEXT,
V_ALV_FIELDCAT-SCRTEXT_L,
V_ALV_FIELDCAT-SCRTEXT_M,
V_ALV_FIELDCAT-SCRTEXT_S.
ENDIF.
IF V_ALV_FIELDCAT-FIELDNAME EQ 'SORT'.
MOVE 'Documentation' TO: V_ALV_FIELDCAT-REPTEXT,
V_ALV_FIELDCAT-SCRTEXT_L,
V_ALV_FIELDCAT-SCRTEXT_M.
MOVE 'DocRef' TO V_ALV_FIELDCAT-SCRTEXT_S.
ENDIF.
MODIFY I_ALV_FIELDCAT FROM V_ALV_FIELDCAT.
ENDLOOP.
ENDFORM. " F_SET_FIELDCAT
Form F_BUILD_TOTALS
text
FORM F_BUILD_TOTALS .
DATA: V_DAYS TYPE I,
V_INDEX(2) TYPE N.
CLEAR I_TOTAL.
Build total line
MOVE I_REPORT-HWAER TO I_TOTAL-WAERS.
MOVE I_REPORT-DMBTR TO I_TOTAL-TOTAL.
DO 5 TIMES.
V_DAYS = ( SY-INDEX - 1 ) * P_AGEDY.
V_INDEX = SY-INDEX.
IF I_REPORT-DPAST LE V_DAYS.
CONCATENATE 'I_TOTAL-DAYS' V_INDEX INTO V_FIELD-NAME.
ASSIGN (V_FIELD-NAME) TO <COLUMN>.
<COLUMN> = I_REPORT-DMBTR.
EXIT.
ELSEIF SY-INDEX EQ 5.
CONCATENATE 'I_TOTAL-DAYS' V_INDEX INTO V_FIELD-NAME.
ASSIGN (V_FIELD-NAME) TO <COLUMN>.
<COLUMN> = I_REPORT-DMBTR.
EXIT.
ENDIF.
ENDDO.
COLLECT I_TOTAL.
ENDFORM. " F_BUILD_TOTALS
CO-PA has all the information you need...
Profitability Analysis is that part of CO where operations will access its performance factors and profitability statements contain margins, standard cost variance, sales information, allocations and other related profit or loss data. This module helps analyze profitability of customers, markets and products at various levels of contribution margins. Profitability is measured down to the SD billing document line and is adjusted periodically against standard costs and other costs.
It has 2 methods of approach :
Costing based Profitability Analysis - This is primarily designed to let you analyze profits quickly for the purpose of sales management.
Account based Profitabilty Analysis - This type of Profitability Analysis enables you to reconcile cost and financial accounting at any time using accounts.
Guess, the second approach is what you are looking for... -
Can't reverse aggregated payment document
Hi,
I can't reverse an aggregated payment document with FP08. I get the error message IUEEDPPLOTA 245 "Payment doc. 1234 is allocated to a contract acct for aggregated posting". What can I do.
Best regards,
BenHi B.F.,
please use tx IUEEDPPLOTAALC4 instead of FP08 in this case.
Regards,
Alexander
Maybe you are looking for
-
Beeps on startup...E20
Have an E20 running Windows 7(64-bit) today, on bootup, it made beeping noises: 2 high-pitched, a pause, then 5 lower-pitched. It complained it couldn't find the keyboard, then went into the DHCP bootup (trying to boot fromnetwork), which usually mea
-
Hierachical table webdynpro and VC
Hello everyone, Is it possible to do a hierachical table in VC and how? What i mean is it possible to create some type of tree structure in a VC table, comething like this: http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/de59f7c2-0
-
How do i put the apps i have on my phone on my play book
how do i put my apps that are on my phone on my playbook. example i have pageonce app to track my bank accounts and credit cards on my phone but i can't get them on my playbook
-
Are there any loggin capabilities in the xsql servlet??
Hi, I would like to log things like query results, errors etc on the file system when using the xsql servlet. Is there facility in say XSQLConfig.xml, that will allow me secify a file name that will be subsequently used by the xsql servelet to do thi
-
[SOLVED] ccsm not working after installing Unity from repo.
Hi, I've been having this problem for a while now, I've been trying to fix it on my own for the last couple of weeks but I wasn't able to help my self searching on internet. As stated on the title, I've installed Unity for arch from the repository fo