Confirmation of balance

how to take confirmation of balance for vendor account tell me the path and proceedures

Hi,
T.Code for Balance Confirmation of Vendors : F.18 and for Vendors F.17.
Before that you have to make some configurations for assigning the
relative Correspondence Form to the Report.
In Financial Accounting - A/R & A/P - Vendor Accounts - Line Items - Correspondence -
Make and change settings for correspondence
Use can use Correspondence type SAP10
Report Program SAP130K for Vendors & SAP130D for Customers
In Assign program for Correspondence Type Copy SAP10 to assign to
your Company Code.
Define Form names for correspondence Print - Click Copy as by choosing SAP130K for Vendors and Assign your Company Code and save. Similarly copy SAP130D for Customers
Next you have to Define Sender details.  Again Copy SAP130K and SAP130D and assign your
Company Code and Save.
Now use the T.Codes F.18 and input the Vendor No. Company Code; Give a Reconciliation Key date may be upto last working day of the previous month. Tick Individual Vendors if for only one Vendor
In the output control use F4 to select for Form Set, Sender details, sort variant for Corr - K3 and
Line item sorting P3.. Enter the date of issue
In Print Control by F4 selection give printer Viz.Local
Execute.
Hope these steps may help you to complete the settings and take printout.
All the best.
N.Sadashivan

Similar Messages

  • Customer for confirmation of balance

    How to check confirmation of balance for all customer in one time using t-code SAPF130D? Because when we use this code, we only can view confirmation of balance one customer only for one time.

    Yes, I want to print balance confirmation for all customer by collective not one by one customer
    Edited by: Alex Lau on Jan 11, 2010 8:05 AM

  • Limit Order Confirmation Reversal - Balancing Issues

    Hello,
    We currently use SRM 5.5 and have an issue with the balances on our goods receipts and service entries for limit orders.
    We use ML81N to reverse off our service entry sheets but it is still leaving balances on the goods receipt which appears to be caused by the invoice values.
    For example we have a limit PO that has had the following happen:
    Confirmation posted in SRM for £3390.00 which transferred successfully to the backend PO.
    Invoice posted for £3371.70
    Service entry revoked and deleted using ML81Nu2013 SEN balance is zero
    Goods receipt balance is £18.30, only the value of £3371.70 has been reversed but before saving the service entry reversal the value in ML81N did show as £3390.00. So for some reason it is picking up the invoice value and reversing that instead of the goods receipt value.
    Does anyone know why this is happening and a way to get rid of the balance on the goods receipt now that the service entry sheet is deleted?
    Thanks
    Lisa

    Hi. This is probably more of a LIV / MM issue than SRM, but transaction MR11 will clear the GR/IR imbalance for you if there is no other way. It effectively posts a document like a dummy GR or invoice for the balance. It obviously won't try and pay anything to anyone.
    Regards,
    Dave.

  • Confirmation of balance - urgent

    Hi,
    We are using print program SAPF130K and SAPF130D for vendor and customer respectively.
    My query is can we bring even the cleared items alongwith the open items in the same print program???
    Now we have line items of open line items only?? As per our exploration into the program... we get only open items..
    Also we are using SAP10 and SAP11 as the correspondence type.Kindly advise as to correspondence type should be changed so that it can print both the open and cleared items?
    Please reply ASAP as it is very urgent.
    Thanks in advance.
    Regards
    Karpagam

    Hi,
    Use T.Code F.42 FOR Vendor Balances
    and F.23 For Customer Balances
    Hope this will help u
    Regards,
    Sarfaraz

  • Printing confirmation of balance for vendors and customer-urgent

    Hi,
    Thanx Vamsi for the reply.
    I have got 1 more doubt.we are using CUSTOMISED correspondence types.The annexure we give has only the open items.But the users want a list of cleared items to appear in the list.
    Will the confirmation have only open items ???? or can it take even the cleared items along with it.Can the print program be modified to take even the cleared items along with it.
    Kindly advise.
    Thanks in advance
    Regards
    Karpagam

    Hi,
    We are using print program SAPF130K and SAPF130D for vendor and customer respectively.
    My query is can we bring even the cleared items alongwith the open items in the same print program???
    Now we have line items of open line items only?? As per our exploration into the program... we get only open items..
    Also we are using SAP10 and SAP11 as the correspondence type.Kindly advise as to correspondence type should be changed so that it can print both the open and cleared items?
    Please reply ASAP as it is very urgent.
    Thanks in advance.
    Regards
    Karpagam

  • I need to check my iTunes Gift Card Balance. Help!

    I bought a few gift cards from Staples during  a sale, and want to gift them to my friends. Each card is supposed to have 25$ on it.
    My question is this- I need to make sure that the balance is on the card before gifting it. So that I'm not embarrassed later on.
    I browsed for answers and came across 2 popular answers.
    1. Go to iTunes and click redeem..etc etc.
    But in doing so won't I end up adding the balance to my account? The gift card will no longer be valid. right?
    2. Call 888-320-3301.
    I called the number. It's an automated system asking me to put in my 16 digit code. Now my 16 digit code is alphanumeric. something like XZN34...etc.
    So HOW do I put in my code?? HELP!

    An iTunes card isn't like other gift cards where there's a balance that is embedded on the card at the time of purchase. It's a fixed amount built into the card (actually it's embedded in the redemption code) that gets added to a user's iTunes Store account when the card is redeemed. Unless the card was previously redeemed, something which it is impossible to check without actually redeeming the card, which can be done only once, there's no way to confirm the balance, but I've never run into a situation where the amount wasn't the amount printed on the card. Only if Staples didn't activate the cards would there be any possibility of a problem, barring a very unusual circumstance.
    I think you can give the cards without fear.
    Regards.

  • Balance carry forward not happening for new entity

    Hello Gurus,
    We added mid 2009 a new entity to be consolidated.
    The balance carry forward assigns the last year results to retained earnings, this is the same accross all entities.
    When executing the task in the monitor, there is no error message but it does no work, results end-up on a difference elimination item.
    For all other entities, it works fine.
    I wonder if there is a configuration that I overlooked.
    Many thanks for you inpput.
    Alex-

    So you are saying that for all other consolidation units, the Balance CarryForward (BCF) was successful?
    but for only one unit is was not successful?
    - I suggest to you that one of the following has occurred;
    1. there is no data against the balance sheet items for that unit (go to totals records to confirm YTD balance last year for all Balance Sheet items for that cons unit)
    2. there is only data against a specific item that has been set to carryforward to the "elimination" item that you mentioned (check the BCF items to be carried forward confgiuration)
    3. there is only data against Balance Sheet items that have been configured NOT to be carried forward (check the BCF config)
    4. you have configured some items incorrectly as Item Type; Income Statement or Statistical instead of Balance Sheet.
    5. You have missed the consolidation unit from the hierarchy for p1, 2010 (please also check the combinations if it is a matrix consolidation unit) so the BCF is not running for that unit at all
    Checking these 5 should get you closer to the answer

  • Balance between Vendor balance and GL

    Hi Experts,
    We are in the process on confirming the balance between the subledger recon account and the vendor balances.However,we find that there is a huge difference between the total balances of all the vendors and subledger and the balances do not match.
    Please  let me know as to what could be the possible reasons for this difference.
    Regards,
    Srinivasan.

    Hi
    The most possible reason could be that the reconciliation account has been changed in the vendor master. pls check the totals of all the Reco GL Accounts and the vendor master
    Regards
    Sanil Bhandari

  • Vendor/Customer banlance confirmation

    hi
    Can any one tell me about Vendor/Customer banlance confirmation  basically for  31st march with balance conformation letter send to party, is it any transaction for this activity in stander SAP Report.

    Hello
    If you have a large number of customers or vendors, you can use the function Group customers or Group vendors when creating the balance confirmation.
    You can find this function in the Accounts Receivable or Accounts Payable screen under Periodic processing ® Print correspondence ® Balance confirmation ® Group customers or vendors.
    This program enables you to group your customer and vendor accounts in intervals of a specific size or in a specific number of intervals. The grouping can only ever be applied to one company code.
    You could, for example, divide your customers into five equal-sized intervals. The system creates this grouping and then gives you a list of the interval divisions together with the number of customer accounts contained in each division. You can then create five different variants for balance confirmation program by simply entering in the Customer field the interval divisions created by the system. You can then let these balance confirmation programs run parallel in the background.
    Balance Confirmation
    Purpose
    Obtaining the balance confirmation – a part of balance sheet preparation for the year-end – corresponds to the activity of an accounts receivable accountant. The customer has the following options:
    ·        Confirm total balances
    ·        Not confirm the total balances
    ·        Confirm or not confirm individual items 
    ·        Not give a reply, or to specify reasons why the accountant cannot process the balance confirmation
    For paper balance confirmations, the reasons for differences or comments were usually entered on the reverse of the confirmation for individual items. The paper confirmation was then sent back to both the SAP accounting clerk and also the auditor.
    With SAP Biller Direct this function is now available in the Internet as a balance confirmation at the current date, or at any specified date.
    By using this process your business partner can compare the open items at the current date with his accounting.
    Prerequisites
    ·        You have made the settings in the customer master data as described in Entries in the Customer Master Data.
    ·        To enable an e-mail to be sent to the external auditor, you have made the following settings:
    ¡        With the configuration tool Extended Configuration Management (XCM) (see section Configuring the Web application with XCM) you have activated the option for sending an e-mail to the auditor.
    ¡        You have entered the e-mail address of the external auditor in Customizing for Financial Accounting. You do this under Accounts Receivable and Accounts Payable ® Business Transactions ® Closing ® Count ® Balance Confirmation Correspondence ® Define Reply Addresses for Balance Confirmation
    ¡        You have entered the company code address data in Customizing for Financial Accounting. You do this under Financial Accounting Global Settings ® Company Code ® Enter Global Parameters
    Process Flow
           1.      Your business partner logs on to SAP Biller Direct.
           2.      He then chooses Balance Confirmation in the menu bar.
    A standard letter to your business partner is then displayed with the request that the balance be checked for agreement with the books of the business partner. An itemization of the open items is attached. This means the open items are displayed at the current date (key date) having the same details as the usual open item display. They contain, in addition to open bills credits, payments and on account payments, non-cleared down payments and bills of exchange.
           3.      To display the bill details, your business partner clicks on the PDF symbol.
           4.      To confirm individual items or enter a note on them, your business partner selects Yes or No. For each line item he can enter a comment explaining any differences.
           5.      To make the confirmation easier, your business partner can either print the list or download it in Excel or CSV format.
           6.      To reply to the communication, your business partner chooses Reply.
    He can either confirm agreement of the balances or comment on any differences. In doing so, he can supply the individual items with appropriate notes, or enter a general remark.
           7.      Once your business partner has selected confirmed, no confirmation or no reply, the balance confirmation is sent to the accounting clerk. If you have made the necessary settings, an e-mail is also sent to the external auditor.
    Result
    You receive a balance confirmation. The result of the balance confirmation is sent as a text e-mail to the accounting clerk assigned in the SAP system and to the external auditor.
    Reg
    assign points if useful

  • FAGLFLEXA Balances for Carryforward

    Just confirming if balances in the FLEXA tables carry forward at year end and not just BSEG tables?
    P&L => Retained Earnings
    B/S => Same B/S Accounts

    Hello,
    FALGFLEXT table keeps total amount for each account per year&period. FAGLFLEXA like BSEG table as you said. It keeps line items data. For ex. FAGLL03 report read data from FAGLFLEXA table.
    Regards,
    Burak

  • CRS-1 Load balancing issue

    Dear all,
    I am using a simple load balacing based on static routing, running V 3.8.4.
    Although checking route and cef details confirms load balancing is as it should be...load on interfaces is very much apart for outpout traffic (input looks fiine).
    load interval and configuraion on each interface is exactely the same, no bundling used.
    Any thoughts ?
    TIA
    Samir

    Samir,
    The load balancing algorithm used in CRS by default is based on L3, 3 tuple, hash.  So if you don't have enough different l3 source/destination addresses you won't see as even distribution.  Normally this is just fine.  But depending on the traffic flows you have you may need to go to L4, 7 tuple, algorithm.  This will then look deeper into the packets and use the L4 ports along with source and destinations addresses to balance out the flows.
    To change this it's global config command "cef load-balancing fields l3/l4". 
    This will change the hashing algorithm used on the linecards for load balancing. 
    Thanks,
    Bryan

  • Tables of f-02

    Vipin,
    Find the config below
    1.Activate the New General Ledger Accounting by a single click on the clock icon
    2.You will reach to change view "activation of New GL A/cg" detail screen and tick the checkbox and save.
    3. After activation of New General Ledger Accounting, you exit the IMG screen When you re-enter , you find that a new node is added Financial Accounting (New)
    4.After activation of New General Ledger Accounting , a new sub node appears in the IMG structure.
    This sub node is Define Segment
    The menu path is:
    SAP Customizing IMG ---> Enterprise Structure -
    > Definition ---> Financial Accounting ---> Define Segment
    In this IMG activity, you define your segments.
    If you then define your profit centers, you can enter an associated segment in the master record of a profit center. The segment is then derived from the assigned profit center during posting.
    5.Activation has created a new field in Profit Center Master Record : the SEGMENT
    6.Leading and Non- Leading Ledgers
    In General Ledger Accounting , you can use several Ledgers in parallel. This allows you to produce financial statements according to different accounting principles. A ledger uses several dimensions from the totals table it is based upon. When defining Ledgers , one must be defined as the Leading Ledger . The Leading Ledger is based on the same accounting principles as that of the consolidated financial statements. It is integrated with all subsidiary ledgers and is updated in all company codes. This means that it is automatically assigned to all company codes. In each company code, the Leading Ledger receives exactly the same settings that apply to that company code : the currencies, the fiscal year variant and posting period variant .
    You must designate one of your ledgers as the Leading Ledger. It is not possible to designate more than one ledger as the leading ledger.
    The menu path is :
    SAP Customizing IMG -
    > Financial Accounting ( New ) -
    > Financial Accounting Basic Settings (New) -
    > Ledgers -
    > Ledger -
    > Define Ledgers for General Ledger Accounting
    Clicking on the checkbox identifies one of your ledgers as the Leading Ledger.
    7. Activation of Non Leading Ledgers
    Non Leading Ledgers are parallel ledgers to the Leading Ledger . They can be based on local accounting principle, for example. You have to activate a non- Leading Ledger for individual company codes. Non- Leading Ledgers can have different fiscal year variants and posting period variants per company code to the Leading Ledger of this company code.
    The menu path is :
    SAP Customizing IMG -
    > Financial Accounting ( New ) -
    > Financial Accounting Basic Settings (New) -
    > Ledgers -
    > Ledger -
    > Define and Activate Non –Leading Ledgers
    8.Assign scenarios to ledgers
    A Scenario combines Customizing settings from different business views. Each business view specifies which posting data is transferred from different application components in General Ledger Accounting, such as cost Center update or Profit Center update .You assign the desired scenarios to your ledgers. For each ledger, you define which fields are filled with posting data from other application components.
    SAP delivers a number of scenarios in the standard system. It is not possible to create additional scenarios.
    The menu path is:
    SAP Customizing IMG -
    > Financial Accounting ( New ) -
    > Financial Accounting Basic Settings (New) -
    > Ledgers -
    >Fields -
    > Display Scenarios for General Ledger Accounting.
    9. Cost of sales accounting
    Cost of sales accounting is a way to create a profit and loss statement (P&L) for a company by comparing the revenues to the costs or expenses incurred to obtain these revenues.
    The expenses are mainly divided by functional area such as:
    Manufacturing
    Administration
    Sales
    Research and Development
    We can activate Cost of Sales Accounting by the following menu path :
    SAP Customizing IMG -
    > Financial Accounting ( New ) -
    > Financial Accounting Basic Settings (New) -
    > Ledgers -
    >Ledger------> Activate Cost of Sales Accounting
    Accounting transactions list
    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
    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
    FK01     Create Vendor (Accounting)
    FK02     Change Vendor (Accounting)
    FK02CORE     Maintain vendor
    FK03     Display Vendor (Accounting)
    FK04     Vendor Changes (Accounting)
    FK05     Block Vendor (Accounting)
    FK06     Mark Vendor for Deletion (Acctng)
    FK08     Confirm Vendor Individually (Acctng)
    FK09     Confirm Vendor List (Accounting)
    FK10     Vendor Account Balance
    FK10N     Vendor Balance Display
    FK10NA     Vendor Balance Display
    FK15     Transfer vendor changes: receive
    FK16     Transfer vendor changes: receive
    FKI0     Execute Report
    FKI1     Create Report
    FKI2     Change Report
    FKI3     Display Report
    FKI4     Create Form
    FKI5     Change Form
    FKI6     Display Form
    FKIB     Background Processing
    FKIC     Maintain Currency Translation Type
    FKIK     Maintain Key Figures
    FKIM     Report Monitor
    FKIO     Transport Reports
    FKIP     Transport Forms
    FKIQ     Import Reports from Client 000
    FKIR     Import Forms from Client 000
    FKIT     Translation Tool - Drilldown Report.
    FKIV     Maintain Global Variable
    FKIX     Reorganize Drilldown Reports
    FKIY     Reorganize Report Data
    FKIZ     Reorganize Forms
    FKMT     FI Acct Assignment Model Management
    FS00     G/L acct master record maintenance
    FS01     Create Master Record
    FS02     Change Master Record
    FS02CORE     Maintain G/L account
    FS03     Display Master Record
    FS04     G/L Account Changes (Centrally)
    FS05     Block Master Record
    FS06     Mark Master Record for Deletion
    FS10     G/L Account Balance
    FS10N     Balance Display
    FS10NA     Balance Display
    FS15     Copy G/L account changes: Send
    FS16     Copy G/L account changes: Receive
    FSAA     Display Address for Bal.Confirmatns
    FSAP     Addresses for Balance Confirmations
    FSAV     Balance Confirmations: Reply View
    FSE2     Change Financial Statement Version
    FSE3     Display Financial Statement Version
    FSE4     Planning Preparation
    FSE5     Maintain Planning
    FSE5N     Maintain Planning
    FSE6     Display Planning
    FSE6N     Display Planning
    FSE7     Maint.Fin.Statemnt Forgn Lang.Texts
    FSE8     Display Forgn Lang Fin.Statmnt Texts
    FSE9     Automatic Financial Statement Form
    FSF1     Financial Calendar
    FSI0     Execute report
    FSI1     Create Report
    FSI2     Change Report
    FSI3     Display Report
    FSI4     Create Form
    FSI5     Change Form
    FSI6     Display Form
    FSIB     Background processing
    FSIC     Maintain Currency Translation Type
    FSIG     Balance Sheet Reports Criteria Group
    FSIK     Maintain Key Figures
    FSIM     Report Monitor
    FSIO     Transport reports
    FSIP     Transport forms
    FSIQ     Import reports from client 000
    FSIR     Import forms from client 000
    FSIT     Translation Tool - Drilldown Report.
    FSIV     Maintain Global Variable
    FSIX     Reorganize Drilldown Reports
    FSIY     Reorganize report data
    FSIZ     Reorganize forms
    FSK2     Maintain Sample Rules
    FSK2_OLD     Maintain Sample Rules
    FSKB     G/L Account Posting
    FSM1     Create Sample Account
    FSM2     Change Sample Account
    FSM3     Display Sample Account
    FSM4     Sample Account Changes
    FSM5     Delete Sample Account
    FSO2     Change Finan.Statement Vers. (old)
    FSO3     Display Finan.Statement Vers. (Old)
    FSP0     G/L acct master record in chrt/accts
    FSP1     Create Master Record in Chart/Accts
    FSP2     Change Master Record in Chart/Accts
    FSP3     Display Master Record in Chart/Accts
    FSP4     G/L Account Changes in Chart/Accts
    FSP5     Block Master Record in Chart/Accts
    FSP6     Mark Mast.Rec.for Del.in Chart/Accts
    FSRD     Loans       Regulatory Reporting CH
    FSRG     Money Mkt   Regulatory Reporting CH
    FSRW     Securities  Regulatory Reporting CH
    FSS0     G/L account master record in co code
    FSS1     Create Master Record in Company Code
    FSS2     Change Master Record in Company Code
    FSS3     Display Master Record in Comp.Code
    FSS4     G/L Account Changes in Company Code
    FSSA     Display Bal.Confirmatns Sel.Criteria
    FSSP     Change Bal.Confirmatns Sel.Criteria
    FST0     G/L account record translation
    FST2     Maintain Account Name
    FST3     Display Account Name
    OB00     C FI Maintain Table T030 (RDF)
    OB01     C FI Maintain Table T691A
    OB02     C FI Maintain Table T024B
    OB03     C FI Maintain Table T003
    OB04     C FI Maintain Table T030F
    OB05     C FI Maintain Table T001S
    OB06     C FI Maintain Table T031S
    OB07     C FI Maintain table TCURV
    OB08     C FI Maintain table TCURR
    OB09     C FI Maintain Table T030H
    OB10     C FI Maintain Table T049L
    OB11     C FI Maintain Table T018P
    OB12     C FI Maintain Table T691B
    OB13     C FI Maintain Table T004
    OB14     Configure Field Status Definition
    OB15     C FI Maintain Table T004R
    OB16     C FI Maintain Table TZUN/TZUNT
    OB17     C FI Maintain Table T040
    OB18     C FI Maintain Table T040S
    OB19     C FI Maintain Table T059M
    OB1A     C FI Maint. Table T004 (Layouts)
    OB1B     C FI Maint. Table T004 (Layouts)
    OB20     C FI Maintain Table T078D
    OB21     C FI Maintain Table T079D
    OB22     C FI Maintain Table T001A
    OB23     C FI Maintain Table T078K
    OB24     C FI Maintain Table T079K
    OB25     C FI Maintain Table T001X
    OB26     C FI Maintain Table T078S
    OB27     C FI Maintain Table T008
    OB28     C FI Maintain Table T001D
    OB29     C FI Fiscal Year Variants
    OB30     Accts Rec: Allocate flds -> fld gps
    OB31     C FI Maintain Table T055G
    OB32     C FI Maintain Table TBAER
    OB33     C FI Maintain Table T055
    OB34     C FI Maintain Table T055G
    OB35     Customer Balance Confirmation
    OB36     Vendor Balance Confirmation
    OB37     C FI Maintain Table T001 (PERIV)
    OB38     Assign Co.Code -> Cred.Cntl Area
    OB39     C FI Maintain Table TRAS
    OB40     C FI Maintain Table T030
    OB41     Maintain Accounting Keys
    OB42     C FI Maintain Table T056Z
    OB43     C FI Maintain Table T015L
    OB44     C FI Maintain Table T016
    OB45     C FI Maintain Table T014
    OB46     C FI Maintain Table T056
    OB47     C FI Maintain Table T015W
    OB48     C FI Maintain Matchcode SAKO
    OB49     C FI Maintain Matchcode DEBI
    OB50     C FI Maintain Matchcode KRED
    OB51     C FI Maintain Table T024P
    OB52     C FI Maintain Table T001B
    OB53     C FI Maintain Table T030
    OB54     C FI Maintain Table T001 (PERIV)
    OB55     C FI Maintain Table TFAV
    OB56     C FI Maintain Table T053
    OB57     C FI Maintain Table T043
    OB58     C FI Maintain Table T011/T011T
    OB59     C FI Maintain Table T044A
    OB60     C FI Maintain Table T041B
    OB61     C FI Maintain Table T047M
    OB62     C FI Maintain Table T001 (KTOPL + 2)
    OB63     C FI Maintain Table T001 (XGJRV)
    OB64     C FI Maintain Table T001 (WAABV)
    OB65     C FI Maintain Table T001 (XGSBE)
    OB66     C FI Maintain Table T001 (XKDFT)
    OB67     C FI Maintain Table T001 (MREGL)
    OB68     C FI Maintain Table T001
    OB69     C FI Maintain Table T001
    OB70     C FI Maintain Table T001
    OB71     C FI Maintain Table T001
    OB72     C FI Maintain Table T001O
    OB73     C FI Maintain Table T031
    OB74     C FI Maintain Table TF123
    OB75     C FI Maintain Table T042D
    OB76     C FI Maintain Table T045E
    OB77     C FI Maintain Table T048/T048T
    OB78     C FI Maintain Table T048B
    OB79     C FI Maintain Table T048I
    OB80     C FI Maintain Table T043K
    OB81     C FI Maintain Table T056A
    OB82     C FI Maintain Table T056U
    OB83     C FI Maintain Table T056P
    OB84     C FI Maintain Table T056D
    OB85     C FI Maintain Table T056B
    OB86     C FI Maintain Table T005 (WECHF)
    OB87     C FI Maintain Table T001N
    OB88     C FI Maintain Table T001
    OB89     C FI Maintain Table T030
    OB90     C FI Maintain Table T001R
    OB91     C FI Maintain Table T001F
    OB92     C FI Maintain Table T001G
    OB93     C FI Maintain Table TGSBG
    OB94     C FI Maintain Table T042M
    OB95     C FI Maintain Table T042N
    OB96     C FI Maintain Table T001F
    OB97     C FI Maintain Table T059A
    OB98     C FI Maintain Table T059F
    OB99     C FI Maintain Table T005Q
    OBA0     G/L Account Tolerance Groups
    OBA1     C FI Maintain Table T030
    OBA2     C FI Maintain Table T001M
    OBA3     C FI Maintain Table T043G
    OBA4     C FI Maintain Table T043T
    OBA5     Change Message Control
    OBA6     C FI Maintain Table T046
    OBA7     C FI maintain table T003
    OBA8     C FI Maintain Table TRERI
    OBA9     C FI Maintain Table T015Z
    OBAA     C FI Maintain Table T056S
    OBAB     C FI Maintain Table T056Y
    OBAC     C FI Maintain Table T056R
    OBAD     C FI Maintain Table T005P
    OBAE     C FI Maintain Table T005S
    OBAF     C FI Maintain Table T048K
    OBAG     C FI Maintain Table T060O
    OBAH     C FI Maintain Table T060A
    OBAI     C FI Maintain Table T060
    OBAJ     C FI Maintain Table T060
    OBAK     C FI Maintain Table T060
    OBAL     C FI Maintain Table T052A
    OBAM     C FI Maintain Table T052R
    OBAN     C FI Maintain Table T060O
    OBAO     C FI Maintain Table T060O
    OBAP     C FI Maintain Table TZGR
    OBAQ     C FI Maintain Table T047R
    OBAR     C FI Maintain Table T077D
    OBAS     C FI Maintain Table T077K
    OBAT     C FI Maintain Table T055G
    OBAU     C FI Maintain Table T055
    OBAV     C FI Maintain Table T049E
    OBAW     C FI Maintain Table T049F
    OBAX     C FI Maintain Table T049A
    OBAY     C FI Maintain Table T049B
    OBAZ     C FI Maintain Table FEDICUS
    OBB0     C FI Maintain table T030 valuatn adj
    OBB1     C FI Maintain Table T001G
    OBB2     C FI Maintain Table TFMC
    OBB3     C FI Maintain Table TFMC
    OBB4     C FI Maintain Table TFMC
    OBB5     C FI Maintain Table T001
    OBB6     C FI Maintain Table TGSB
    OBB7     C FI Maintain Table TGSB
    OBB8     C FI Maintain Table T052
    OBB9     C FI Maintain Table T052S
    OBBA     C FI Maintain Table T012C
    OBBB     C FI Maintain Table T012A
    OBBC     C FI Maintain Table T052 (Block Key)
    OBBD     C FI Maintain Table T045T
    OBBE     C FI Maintain Table T053R and T053S
    OBBF     C FI Maintain Table TCURD
    OBBG     C FI Maintain Table T005 (KALSM)
    OBBH     C FI Maintain Table T001Q (Document)
    OBBI     Maintain G/L Account Field Groups
    OBBJ     Maintain Sample Account Field Groups
    OBBK     C FI Maintain Table T055G (Banks)
    OBBL     C FI Maintain Table T055 (Banks)
    OBBM     C FI Maintain Table T055G (Docs)
    OBBN     C FI Maintain Table T055 (Docs)
    OBBO     C FI Maintain Table T010O
    OBBP     C FI Maintain Table T001 (OPVAR)
    OBBQ     C FI Maintain Table T044D
    OBBR     C FI Table T042R Maintenance
    OBBS     C FI Maintain Table TCURF
    OBBT     C FI Table T030 Maintenance GLU+GLU
    OBBU     C FI Maintain Table T044K List
    OBBUSPRO     Business Processes
    OBBV     C FI Maintain Table T030 BI2+SPACE
    OBBW     C FI Maintain Table T030 BI3+A00
    OBBX     C FI Maintain Table T030 BI4+SPACE
    OBBY     C FI Maintain Tables T028V + T028W
    OBBZ     C FI Subst. FI/0005: Activate
    OBC1     C FI Maintain Table T054
    OBC2     C FI Maintain Table T054A
    OBC3     C FI Maintain Table TLSEP
    OBC4     C FI Maintain Table T004V
    OBC5     C FI Maintain Table T001
    OBC6     C FI Maintain Table T001
    OBC7     C FI Maintain Table T059Q
    OBC8     C FI Table T001 Maintenance (TXKRS)
    OBC9     External Group Number for Taxation
    OBCA     C FI Maintain Table T076B
    OBCB     C FI Maintain Table T076I
    OBCC     C FI Maintain Table T076K
    OBCD     C FI Maintain Table T076M
    OBCE     C FI Maintain Table T076S
    OBCF     C FI Maintain Table T007F
    OBCG     C FI Maintain Table T007K
    OBCH     C FI Maintain Table T007L
    OBCI     C FI Maintain Table T007I
    OBCJ     C FI Maintain Table T007J
    OBCK     FI Table Maintenance T001 (XSTDT)
    OBCL     FI Table Maint. T001 (MWSKV+MWSKA)
    OBCM     C FI Maintain Table T007F
    OBCN     C FI Maintain Table T007B
    OBCO     C FI Maintain Table TTXD
    OBCP     C FI Maintain Table TTXJ
    OBCQ     C FI Table T053G Maintenance
    OBCR     C FI Table T053V + T053W Maintenance
    OBCS     C FI Table T053E Maintenance
    OBCT     C FI Table T053A + T053B Maintenance
    OBCU     C FI Table T053C Maintenance
    OBCV     C FI FAKP: T021R with SL-AX
    OBCW     C FI table T053D maintenance
    OBCX     TTXC View
    OBCY     C FI Table TTYPV Maintenance
    OBCZ     C FI Maintain Table T021E
    OBD1     Document parking posting date
    OBD2     C FI Maintain Table T077D
    OBD3     C FI Maintain Table T077K
    OBD4     C FI Maintain Table T077S
    OBD5     C FI Maintain Table T003B
    OBD6     C FI Maintain Table TCURS
    OBDA     C FI Table T059E + T059G Maintenance
    OBDB     C FI Table T053R Maintenance
    OBDC     C FI Maintain View Cluster V_T060K
    OBDD     C FI Table T060K Maintenance
    OBDE     C FI Table T060M Maintenance
    OBDF     C FI Maint.view cluster V_T060o
    OBDG     C FI Maintain Table T076A
    OBDH     C FI Maintain Table T076E
    OBDU     Job Names for Data Transfers
    OBE7     C FI Batch Input Customers
    OBE8     C FI Generate Btch Input Rcrd Layout
    OBEA     Maintain Convertible Reports
    OBEB     Main.Table for Old Local Curr.(EURO)
    OBEBGEN     Electronic Banking: General
    OBEBLADR     Assign Banks to OFX partners
    OBETX     Number Assignment for Ext. Tax Docum
    OBF1     C FI Maintain Table TFI01/TFI01T
    OBF2     C FI Maintain Table TFI02
    OBF3     Bank selection, current setting
    OBF4     C FI maintain table T003
    OBF5     C FI Maint. Table T042OFI/T042OFIT
    OBF8     C FI Batch Input Vendors
    OBFA     C FI Corresp.Sort Variants/Corresp.
    OBFB     C FI Corresp.Sort Variants/Documents
    OBFC     C FI Corresp.Sort Variants/Lne Items
    OBG1     C FI Maintain tbl T030 offsttng acct
    OBG4     C FI Batch Input Documents
    OBG5     C FI Batch Input G/L Accounts
    OBG8     C FI Copy G/L Accounts Acc.To Ref.Ac
    OBG9     C FI Maintain Table TSAKR
    OBGA     C FI G/L Account With Ref.: Display
    OBH1     C FI Doc.No.Range: Copy Company Code
    OBH2     C FI Doc.No.Range: Copy Fiscal year
    OBIA     C FI Maintain View Cluster VC_TFAG
    OBIB     Parameter Transaction for V_TFAGM
    OBJ1     C FI Year End Financial Statement
    OBJ2     C FI Year End Compact Doc.Journal
    OBJ3     C FI Year End Bill of Exchange List
    OBJ4     C FI Year End G/L Account Balances
    OBJ5     C FI Year End G/L Account List
    OBJ6     Posting Totals
    OBJ7     Bill of Exchange Charges Statement
    OBK1     C FI Year End OI Customer List
    OBK2     C FI Year End Customer Acct Balances
    OBK3     C FI Year End Customer List
    OBK4     C FI Year End OI Vendor List
    OBK5     C FI Year End Vendor Acct Balances
    OBK6     C FI Year End Vendor List
    OBK7     Subledger Accts Bal.Carried Forward
    OBK8     G/L Accounts Balance Carried Forward
    OBK9     Payment Notices Correspondence
    OBKA     Account Statement Correspondence
    OBKB     Internal Documents Correspondence
    OBKC     Individual Letters Correspondence
    OBKD     Document Statements Correspondence
    OBKE     Customer Stmnt Corresp.Account Stmnt
    OBKF     Failed Payment Correspondence
    OBKG     Correspondence Sel.Criteria Letters
    OBKR     Maintain Number Range: FI_RECEIPT
    OBKS     C FI Table T058A Maintenance
    OBKT     C FI Table T058B Maintenance
    OBKU     C FI Table T011A + T011B Maintenance
    OBKV     C FI Table T011E + T011F Maintenance
    OBKW     C FI Table T011V Maintenance
    OBL1     Consistency Check: Auto.Pstg (Docu.)
    OBL2     Consistency Check: Auto.Pstg (ErAny)
    OBL3     Consistency Check: Sp.G/L (Docu.)
    OBL4     Consistency Check: Sp.G/L (Err.Anly)
    OBL5     Consistency Check: Pmnt Prog.Config.
    OBL6     Consistency Check: Dunn.Prog.Config.
    OBM1     C FI Month End Advance Tax Return
    OBM2     C FI Month End Financial Statement
    OBM3     C FI Month End Foreign Trade Regns
    OBM4     C FI Month End Compact Doc.Journal
    OBM5     C FI G/L Balances Monthly Report
    OBM6     Posting Data Reconciliation
    OBMD     C FI Selec.Variants Dunning/Dun.line
    OBMK     C FI Selec.Variants Dunning/Dunn.hdr
    OBN1     C FI Month End OI Customer List
    OBN2     C FI Month End Financial Statement
    OBN3     C FI Month End OI Vendor List
    OBN4     C FI Month End Vendor Acct Balances
    OBNB     Transaction Code for SAPMFKM2
    OBO1     C FI FAKP Line Item Line Layout
    OBO2     C FI FAKP Credit Mangmnt Line Layout
    OBOB     C FI FAKP Line Item Line Layout
    OBOFXBUS     OFX: Business Customizing
    OBOFXTECH     OFX: Technical Customizing
    OBP1     C FI create distribution key
    OBP2     C FI Change Distribution Keys
    OBP3     C FI display distribution key
    OBP4     C FI delete distribution key
    OBP5     Delete FI planning data
    OBP6     G/L: Versions
    OBPL     Subsequently post CO plan.data to GL
    OBQ1     C FI Condition Compnt: Condit.Types
    OBQ2     C FI Condit.Component: Access Seque.
    OBQ3     C FI Condition Component: Calc.Proc.
    OBR1     Delete Documents
    OBR2     Delete Subledger Accounts
    OBR3     C FI Maintain Table T001
    OBR4     Delete Banks
    OBR7     Maintain account type life
    OBR8     Maintain document type life
    OBRD     Customers: maintain report selection
    OBRK     Vendors: maintain report selection
    OBRS     G/L: maintain report selection
    OBRX     Flexible G/L: Maintain Report Selec.
    OBS1     C FI Create Ledger
    OBS2     C FI Change Ledger
    OBS3     C FI Display Ledger
    OBS4     C FI Delete Ledger
    OBT1     C FI Maintain Table TTXID (KNA1)
    OBT2     C FI Maintain Table TTXID (KNB1)
    OBT3     C FI Maintain Table TTXID (KNKK)
    OBT4     C FI Maintain Table TTXID (LFA1)
    OBT5     C FI Maintain Table TTXID (LFB1)
    OBT6     C FI Maintain Table TTXID (SKA1)
    OBT7     C FI Maintain Table TTXID (SKB1)
    OBT8     C FI Maintain Table TTXID (BELEG)
    OBT9     C FI Maintain Table TTXID (MR01)
    OBU1     Document Type/Posting Key Options
    OBUV     TxApportnmnt for Cross-Co.Cde Trans.
    OBV1     C FI Int.For Dys Overdue Acct Deter.
    OBV2     C FI G/L Acct Bal.Int.Calc.Acct Det.
    OBV3     C FI Cust.Bal.Int.Calc.Acct Determ.
    OBV4     C FI Vend.Bal.Int.Calc.Acct Determ.
    OBV5     C FI Maintain Table T030Q
    OBV6     C FI Maintain Table T030V
    OBV7     C FI Maintain Table T001O
    OBV9     C FI Act Det.Vendor Intrst on Arrs
    OBVS     C FI Display View
    OBVT     C FI Display Restricted View
    OBVU     C FI Maintain View
    OBVV     C FI Maintain Restricted View
    OBVW     C FI maintain view
    OBVY     C FI Maintain Table T030H
    OBW1     C FI Maintain Table T001F
    OBW2     C FI Maintain Table T001G
    OBW3     Instructions in Payment Transactions
    OBWA     C FI Table VBWF01+VBWF02 Maintenance
    OBWB     C FI Table VBWF08 Maintenance
    OBWC     C FI Table VBWF03 Maintenance
    OBWD     C FI Table VBWF05 Maintenance
    OBWE     C FI Table VBWF06+VBWF07 Maintenance
    OBWF     C FI Table VBWF09+VBWF10 Maintenance
    OBWG     C FI Table VBWF04 Maintenance (Cust)
    OBWH     C FI Table VBWF04 Maintenance (Vend)
    OBWI     C FI Table VBWF04 Maintenance (G/L)
    OBWJ     C FI Table T001 Maintenance (WFVAR)
    OBWK     C FI Table VBWF04 (Assets)
    OBWL     C FI Maintain Tables VBWF11 + VBWF12
    OBWM     Organizational objects full release
    OBWO     C FI Withholding Tax
    OBWP     Payment release by authorized person
    OBWQ     Payment Release Document Types
    OBWR     C FI Maintain Table FEDIWF1
    OBWS     C FI Withholding Tax
    OBWU     C FI Withholding Tax
    OBWW     C FI Withholding Tax
    OBWZ     Number Range Maintenance: WITH_CTNO
    OBX1     C FI Table T030B: G/L Acct Posting
    OBXA     C FI Table T030
    OBXB     C FI Table T030
    OBXC     C FI Table T030
    OBXD     C FI Maintain Table T030
    OBXE     C FI Table T030
    OBXF     C FI Sort Bank Directory
    OBXG     C FI Maintain Bank Direc.Automatic.
    OBXH     C FI Table T041A/T041T
    OBXI     C FI Table T030
    OBXJ     C FI Table T030B
    OBXK     C FI Table T030
    OBXL     C FI Table T030
    OBXM     C FI Table T030
    OBXN     C FI Table T030 GAU/GA0
    OBXO     C FI Table T030 KDW
    OBXP     C FI Maintain Table T030 zaf
    OBXQ     C FI Table T030 KDZ
    OBXR     C FI Table T074
    OBXS     C FI Table T030
    OBXT     C FI Table T074
    OBXU     C FI Table T030
    OBXV     C FI Table T030
    OBXW     C FI Table T030B Cleared Invoices
    OBXY     C FI Table T074
    OBXZ     C FI Table T030 G/L Accont Clearing
    OBY0     C FI Copy CoCde with Ctry Chrt/Accts
    OBY2     C FI Copy company code (G/L account)
    OBY6     C FI Maintain Table T001
    OBY7     C FI Copy Chart of Accounts
    OBY8     C FI Delete Chart of Accounts
    OBY9     C FI Transport Chart of Accounts
    OBYA     C FI Table T030
    OBYB     Maintain automatic postings accounts
    OBYC     C FI Table T030
    OBYD     C FI Table T030
    OBYE     C FI Table T030
    OBYF     Revenue Account Determination
    OBYG     C FI Table T030
    OBYH     C FI Table T030
    OBYK     C FI Table T045W
    OBYL     C FI Table T030 HRI + HRC
    OBYM     C FI Table T074 Bill of Exchange
    OBYN     C FI Table T074 Bill Receivable
    OBYP     C FI Table T074 Check/Bill of Exch.
    OBYR     C FI Table T074
    OBYS     C FI Table T074 Tangible Fixed Asset
    OBYT     C FI Table T030 HRI + HRD
    OBYU     C FI Table T030 HRI + HRD
    OBYY     C FI Table T030 Maintenance KDT/KDT
    OBYZ     C FI Condition Components
    OBZ1     C FI FBZP T042B
    OBZ2     C FI FBZP T042
    OBZ3     C FI FBZP T042Z
    OBZ4     C FI FBZP T042E
    OBZ5     C FI FBZP T042A
    OBZ6     C FI FBZP Consistency Check
    OBZ7     C FI Users
    OBZ8     C FI Profiles
    OBZ9     C FI Authorizations
    OBZA     Reporting Selection: Global Menu
    OBZB     Reporting Selection: Accts Receivble
    OBZC     Reporting Selection: Accts Payable
    OBZD     Reporting Selection: G/L Accounts
    OBZE     Reporting Selection: Documents
    OBZF     Reporting Selection: Documents
    OBZG     Reporting Selection: G/L Accounts
    OBZH     C FI Maintenance Table TCCFI
    OBZI     C FI Maintenance Table TCCAA
    OBZJ     C FI Maintenance Table T000CM
    OBZK     C FI Maintenance Table T001CM
    OBZL     C FI Maintain Table T001 (XCOS)
    OBZM     C FI Substitution FI/0005: Create
    OBZN     C FI Substitution FI/0005: Change
    OBZO     Doc.Types for Single Scrn Transactns
    OBZT     Single Screen Transaction Tax Code
    OBZZ     
    OB_7     C FI Maint.Table T044G Val.Adj.Key
    OB_8     C FI Maintain Table T044I Base Value
    OB_9     C FI Maintain Table T044J: Display
    OB_GLACC01     Create G/L accounts with reference
    OB_GLACC02     Create G/L accounts with reference
    OB_GLACC11     G/L acct record: Mass maintenance 01
    OB_GLACC12     G/L acct record: Mass maintenance 02
    OB_GLACC13     G/L acct record: Mass maintenance 03
    OB_GLACC21     Configuration G/L account record
    OB_T001_CESSION     FI Customizing: Accts Rble Factoring
    OB_V_CESSION     FI Customizing: Accts Rble Fact.Ind.
    Hi all
    Can any tell me
         If I post an transaction in F-02, what are all the tables will be affected by that transaction.
    Thank you
    Mahesh.J
    [email protected]

    FSKB     G/L Account Posting
    this transaction is not working

  • Print contents in the last page.

    Dear all,
    I am writing an ABAP program for a report. I have to print some text contents at the end of the page.
    How do i do that?
    TIA,
    sinthu

    Hi amit,
    I have added some codes.... here is the code ..
    SELECTION-SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_AKONT FOR KNB1-AKONT OBLIGATORY.
    PARAMETERS     : P_BUKRS LIKE T001-BUKRS OBLIGATORY.
    " COMPANY CODE
    SELECT-OPTIONS : S_GSBER FOR TGSBT-GSBER OBLIGATORY, " BUSINESS AREA
                     S_BUDAT FOR BSID-BUDAT  OBLIGATORY, " POSTING DATE
                     S_KUNNR FOR KNB1-KUNNR OBLIGATORY, " CUSTOMER NUMBER
                     S_UMSKZ FOR T074U-UMSKZ.            " Special GL
    "indicators
    SELECTION-SCREEN END OF BLOCK B1.
    Begin Of Authorization**********************
    AT SELECTION-SCREEN.
      AUTHORITY-CHECK OBJECT 'Z_FI_REP_N'
         ID 'BUKRS' FIELD P_BUKRS
         ID 'ACTVT' FIELD '03'.
      IF SY-SUBRC <> 0.
        MESSAGE E001(ZAUT) WITH P_BUKRS.
      ENDIF.
      LOOP AT S_AKONT.
        AUTHORITY-CHECK OBJECT 'Z_FI_REP_N'
           ID 'BEGRU' FIELD S_AKONT-LOW
           ID 'ACTVT' FIELD '03'.
        IF SY-SUBRC <> 0.
          MESSAGE E001(ZAUT) WITH S_AKONT-LOW .
        ENDIF.
        IF  S_AKONT-HIGH <> SPACE.
          AUTHORITY-CHECK OBJECT 'Z_FI_REP_N'
             ID 'BEGRU' FIELD S_AKONT-HIGH
             ID 'ACTVT' FIELD '03'.
          IF SY-SUBRC <> 0.
            MESSAGE E001(ZAUT) WITH S_AKONT-HIGH  .
          ENDIF.
        ENDIF.
      ENDLOOP.
      LOOP AT S_GSBER.
        AUTHORITY-CHECK OBJECT 'Z_FI_REP_N'
           ID 'GSBER' FIELD S_GSBER-LOW
           ID 'ACTVT' FIELD '03'.
        IF SY-SUBRC <> 0.
          MESSAGE E001(ZAUT) WITH S_GSBER-LOW .
        ENDIF.
        IF  S_GSBER-HIGH <> SPACE.
          AUTHORITY-CHECK OBJECT 'Z_FI_REP_N'
             ID 'GSBER' FIELD S_GSBER-HIGH
             ID 'ACTVT' FIELD '03'.
          IF SY-SUBRC <> 0.
            MESSAGE E001(ZAUT) WITH S_GSBER-HIGH  .
          ENDIF.
        ENDIF.
      ENDLOOP.
    End of Authorization*********************
    SELECTION SCREEN VALIDATION
    AT SELECTION-SCREEN ON S_AKONT.
           IF NOT S_AKONT-LOW IS INITIAL.
                SELECT SINGLE SAKNR FROM SKAT INTO SKAT-SAKNR          
                      WHERE SAKNR = S_AKONT-LOW.
                IF SY-SUBRC <> 0.
                   MESSAGE E999 WITH 'Reconciliation Account' S_AKONT-LOW
                                                 'does not exist'.
    ENDIF.
         ENDIF.
    IF NOT S_AKONT-HIGH IS INITIAL.
                SELECT SINGLE SAKNR FROM SKAT INTO SKAT-SAKNR          
                      WHERE SAKNR = S_AKONT-HIGH.
                IF SY-SUBRC <> 0.
                   MESSAGE E999 WITH 'Reconciliation Account' S_AKONT-HIGH
                                                  'does not exist'.
    ENDIF.
         ENDIF.
    AT SELECTION-SCREEN ON S_KUNNR.
           IF NOT S_KUNNR-LOW IS INITIAL.
                SELECT SINGLE KUNNR FROM KNB1 INTO KNB1-KUNNR
                          WHERE AKONT IN S_AKONT
                                  AND  KUNNR = S_KUNNR-LOW.
                IF SY-SUBRC <> 0.
                   MESSAGE E317 WITH S_KUNNR-LOW.
    ENDIF.
         ENDIF.
    IF NOT S_KUNNR-HIGH IS INITIAL.
                IF S_KUNNR-HIGH < S_KUNNR-LOW.
                   MESSAGE E381.
    ENDIF.
         SELECT SINGLE KUNNR FROM KNB1 INTO KNB1-KUNNR
                        WHERE AKONT IN S_AKONT
                               AND  KUNNR = S_KUNNR-HIGH.
              IF SY-SUBRC <> 0.
                 MESSAGE E317 WITH S_KUNNR-HIGH.
    ENDIF.
    ENDIF.
    START OF SELECTION
    START-OF-SELECTION.
      P_KOART = 'D'.
      LOOP AT S_UMSKZ.
        IF S_UMSKZ-SIGN = 'E'.
          S_UMSKZ-LOW = ' '.
          S_UMSKZ-HIGH = ' '.
          MODIFY S_UMSKZ INDEX SY-TABIX.
        ENDIF.
      ENDLOOP.
      PERFORM GET_BKPF_BSEG_DATA.
      PERFORM PROCESS_DISPLAY_DATA.
    END-OF-SELECTION.
    TOT OF PAGE
    TOP-OF-PAGE.
      FORMAT COLOR OFF INTENSIFIED OFF.
      SELECT SINGLE BUTXT
                 FROM T001
                     INTO WA_BUTXT
                 WHERE BUKRS = P_BUKRS.
        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
      WRITE : / WA_BUTXT .
      SELECT SINGLE VWERK
             FROM KNVV
               INTO WA_VWERK
             WHERE KUNNR IN S_KUNNR.
      SELECT SINGLE NAME1
             FROM T001W
             INTO WA_PNAME
             WHERE WERKS EQ WA_VWERK.
    PERFORM GET_SUP_PLANT.
    WRITE: / WA_PNAME,
    / WA_NAME, / WA_NAME2 , / WA_NAME3,/ WA_NAME4, /
    WA_CITY,/ WA_PSTLZ, /1(152) SY-ULINE.
    *SKIP 1.
    *ULINE AT (152).
      WRITE : / 'Statement of Accounts', 100 'Page No : ', SY-PAGNO.
               100 'Page No : ', SY-PAGNO.
      IF S_BUDAT-HIGH = '00000000'.
        S_BUDAT-HIGH = S_BUDAT-LOW.
      ENDIF.
      FORMAT COLOR OFF INTENSIFIED OFF.
         FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
      WRITE : / 'From :', S_BUDAT-LOW, 'TO', S_BUDAT-HIGH ,100 'Date   : ',
    SY-DATUM, /1(152) SY-ULINE .
                100 'Date   : ', SY-DATUM.
      FORMAT COLOR OFF INTENSIFIED OFF.
    END OF PAGE
    END-OF-PAGE.
    WRITE:'Dear Sir,'.
    WRITE:/15 'Confirmation of Balance'.
    *INCLUDE ZFIGRIDISP.
    FORM GET_BKPF_BSEG_DATA
    FORM GET_BKPF_BSEG_DATA.
    *INCLUDE ZFIGENDOCS.
    DATA : I_FYV1 LIKE T009-PERIV.
    *Commented by Sinthu
    CALL FUNCTION 'CCODE_GET_FISCAL_YEAR_VARIANT'
       EXPORTING
         COMPANY_CODE           = P_BUKRS
       IMPORTING
         FISCAL_YEAR_VARIANT    = I_FYV1
       EXCEPTIONS
         COMPANY_CODE_NOT_FOUND = 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.
    *CALL FUNCTION 'GM_GET_FISCAL_YEAR'
    EXPORTING
      I_DATE                           = S_BUDAT-LOW
       I_FYV                           = I_FYV1
    IMPORTING
      E_FY                             = DATE1
    EXCEPTIONS
      FISCAL_YEAR_DOES_NOT_EXIST       = 1
      NOT_DEFINED_FOR_DATE             = 2
      OTHERS                           = 3
    *IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    CLEAR DATE1.
    CALL FUNCTION 'ME_DETERMINE_GJAHR'
       EXPORTING
      I_BSTYP         =
         I_BEDAT         = S_BUDAT-LOW
         I_PERIV         = I_FYV1
      IMPORTING
      E_H_MONAT       =
        E_H_GJAHR       = DATE1
      E_H_DATUM       =
    End comment - sinthu
    CUSTOMER CALCULATION
      SELECT BUKRS BELNR GJAHR BLART
             BLDAT BUDAT XBLNR BKTXT
             WAERS KURSF XREVERSAL
         INTO TABLE IT_BKPF
         FROM BKPF
               WHERE BUKRS = P_BUKRS
               AND   BUDAT IN S_BUDAT
               AND   BLART <> 'ZC' AND BLART <> 'ZV' AND BLART <> 'DA' AND
    BLART <> 'AB'
               AND   BSTAT = ' '.
      SELECT VBELN VBTYP
          INTO TABLE IT_VBRK
           FROM VBRK
           FOR ALL ENTRIES IN IT_BKPF
             WHERE VBELN = IT_BKPF-BELNR.
      SORT IT_BKPF BY BUDAT.
      IF P_KOART = 'D'.
        IF S_UMSKZ <> ' '.
          SELECT BUKRS BELNR GJAHR AUGBL
                 KOART UMSKZ SHKZG GSBER
                 DMBTR WRBTR ZUONR SGTXT
                 KOSTL VBELN SAKNR HKONT
                 KUNNR LIFNR REBZG
                 INTO TABLE IT_BSEG
                 FROM BSEG
                       WHERE BUKRS = P_BUKRS
                       AND   GSBER IN S_GSBER
                    AND   UMSKZ IN S_UMSKZ
                       AND   ( UMSKZ = ''  OR UMSKZ IN S_UMSKZ )
                       AND   KUNNR IN S_KUNNR
                       AND   KOART = P_KOART.
                      AND   GJAHR = DATE1.
        ELSE.
          SELECT BUKRS BELNR GJAHR AUGBL
                KOART UMSKZ SHKZG GSBER
                DMBTR WRBTR ZUONR SGTXT
                KOSTL VBELN SAKNR HKONT
                KUNNR LIFNR REBZG
                INTO TABLE IT_BSEG
                FROM BSEG
                      WHERE BUKRS = P_BUKRS
                      AND   GSBER IN S_GSBER
                      AND   ( UMSKZ = ' ' )
                    OR UMSKZ IN S_UMSKZ )
                      AND   KUNNR IN S_KUNNR
                      AND   KOART = P_KOART.
                     AND   GJAHR = DATE1.
        ENDIF.
        SORT IT_BKPF BY BELNR.
        SORT IT_BSEG BY BELNR.
        LOOP AT IT_BSEG.
          CNT = SY-TABIX.
          READ TABLE IT_BKPF
          WITH KEY BELNR = IT_BSEG-BELNR
          BINARY SEARCH.
          IF SY-SUBRC NE 0.
            DELETE IT_BSEG INDEX CNT.
            CLEAR IT_BSEG.
          ENDIF.
        ENDLOOP.   " END OF IT_BSIK
      ENDIF.
    OPENING BALANCE CALCULATION************
      SELECT BELNR
            FROM BKPF
            INTO TABLE IT_BKPF_OPEN_BAL
              WHERE BUKRS = P_BUKRS
                 AND   BUDAT < S_BUDAT-LOW
                AND   GJAHR = DATE1
                 AND   BLART <> 'ZC' AND BLART <> 'ZV' AND BLART <> 'DA' AND
    BLART <> 'AB'
                 AND   BSTAT = ' '.
    ****************end of ZFIGENDOCS***************************
    ENDFORM.                    "GET_BKPF_BSEG_DATA
    FORM PROCESS_DISPLAY_DATA.
    FORM PROCESS_DISPLAY_DATA.
      SELECT GSBER INTO TABLE IT_TGSBT
                  FROM TGSBT
                      WHERE GSBER IN S_GSBER.
      SELECT KUNNR INTO TABLE IT_KNB1
            FROM KNB1
                WHERE KUNNR IN S_KUNNR
                 AND  AKONT IN S_AKONT.
      LOOP AT IT_TGSBT.
        LOOP AT IT_KNB1.
          IT_BA_CUST_COMB-GSBER = IT_TGSBT-GSBER.
          IT_BA_CUST_COMB-KUNNR = IT_KNB1-KUNNR.
          APPEND IT_BA_CUST_COMB.
        ENDLOOP.     " END OF IT_KNB1
      ENDLOOP.         " END OF IT_TGSBT
      DELETE ADJACENT DUPLICATES FROM IT_BA_CUST_COMB.
      SORT IT_BA_CUST_COMB BY KUNNR.
      IF NOT IT_BA_CUST_COMB[] IS INITIAL.
        LOOP AT IT_BA_CUST_COMB.
          COUNTR1 = COUNTR1 + 1.
          IF S_UMSKZ <> ''.
            SELECT BELNR SHKZG DMBTR
                   INTO TABLE IT_BSEG_OPEN_BAL
                   FROM BSEG
                         WHERE BUKRS = P_BUKRS
                         AND   GSBER = IT_BA_CUST_COMB-GSBER
                        AND   UMSKZ IN S_UMSKZ
                         AND   ( UMSKZ = ' '  OR UMSKZ IN S_UMSKZ )
                         AND   KUNNR = IT_BA_CUST_COMB-KUNNR
                         AND   KOART = P_KOART.
                        AND   GJAHR = DATE1.
          ELSE.
            SELECT BELNR SHKZG DMBTR
                INTO TABLE IT_BSEG_OPEN_BAL
                FROM BSEG
                      WHERE BUKRS = P_BUKRS
                      AND   GSBER = IT_BA_CUST_COMB-GSBER
                      AND   ( UMSKZ = ' ' )
                      OR UMSKZ IN S_UMSKZ )
                      AND   KUNNR = IT_BA_CUST_COMB-KUNNR
                      AND   KOART = P_KOART.
                     AND   GJAHR = DATE1.
          ENDIF.
          SORT IT_BKPF_OPEN_BAL BY BELNR.
          SORT IT_BSEG_OPEN_BAL BY BELNR.
          LOOP AT IT_BSEG_OPEN_BAL.
            CNT = SY-TABIX.
            READ TABLE IT_BKPF_OPEN_BAL
            WITH KEY BELNR = IT_BSEG_OPEN_BAL-BELNR
             BINARY SEARCH.
            IF SY-SUBRC <>  0.
              DELETE IT_BSEG_OPEN_BAL INDEX CNT.
              CLEAR IT_BSEG_OPEN_BAL.
            ENDIF.
          ENDLOOP.        " END IT_BSEG_OPEN_BAL
          PREV_YR_BAL = 0.               " TO BE ADDED LATER ......
          OPEN_BAL = PREV_YR_BAL.
          LOOP AT IT_BSEG_OPEN_BAL.
            IF IT_BSEG_OPEN_BAL-SHKZG = 'S'.
              OPEN_BAL = OPEN_BAL + IT_BSEG_OPEN_BAL-DMBTR.
            ELSE.
              OPEN_BAL = OPEN_BAL - IT_BSEG_OPEN_BAL-DMBTR.
            ENDIF.
          ENDLOOP.            " END OF IT_BSEG_OPEN_BAL
    IF OPEN_BAL <> 0.                 " LATER CHECK CLOSING BAL = 0...
          SELECT SINGLE NAME1 INTO WA_NAME1 FROM KNA1
          WHERE KUNNR = IT_BA_CUST_COMB-KUNNR.
          SELECT SINGLE GTEXT INTO WA_GTEXT FROM TGSBT
          WHERE  GSBER = IT_BA_CUST_COMB-GSBER.
          LOOP AT IT_BSEG WHERE GSBER = IT_BA_CUST_COMB-GSBER
                           AND  KUNNR = IT_BA_CUST_COMB-KUNNR.
            IT_LINE_ITEMS-BELNR = IT_BSEG-BELNR.
            IT_LINE_ITEMS-UMSKZ = IT_BSEG-UMSKZ.
            IT_LINE_ITEMS-SHKZG = IT_BSEG-SHKZG.
            IT_LINE_ITEMS-DMBTR = IT_BSEG-DMBTR.
            IT_LINE_ITEMS-SGTXT = IT_BSEG-SGTXT.
            IT_LINE_ITEMS-XBLNR = IT_BSEG-ZUONR.
            IT_LINE_ITEMS-ZUONR = IT_BSEG-ZUONR.
            APPEND IT_LINE_ITEMS.
          ENDLOOP.   " END OF IT_BSEG
          SORT IT_BKPF BY BELNR.
          CLOSE_BAL = OPEN_BAL.
          LOOP AT IT_LINE_ITEMS.
            CNT1 = SY-TABIX.
            MONCR = 0. MONDR = 0.
            READ TABLE IT_BKPF
                 WITH KEY BELNR = IT_LINE_ITEMS-BELNR
                                BINARY SEARCH.
            IT_LINE_ITEMS-BUKRS = IT_BKPF-BUKRS.
            IT_LINE_ITEMS-BUDAT = IT_BKPF-BUDAT.
            IT_LINE_ITEMS-BLDAT = IT_BKPF-BLDAT.
            IT_LINE_ITEMS-BLART = IT_BKPF-BLART.
            IF IT_BKPF-BLART = 'ZS' AND IT_BKPF-BLART = 'ZT'.
              SELECT SINGLE * FROM ZFIH0004
                      WHERE KUNNR = IT_BA_CUST_COMB-KUNNR
                                   AND ZGROUP = IT_BKPF-XBLNR
                                   AND SCH10_PRSC = IT_LINE_ITEMS-ZUONR
                                   AND BUKRS = IT_BKPF-BUKRS.
              IF SY-SUBRC = 0.
                IT_LINE_ITEMS-BLDAT = ZFIH0004-BLDAT.
              ENDIF.
            ENDIF.
            IF IT_LINE_ITEMS-BLART <> 'ZS' AND IT_LINE_ITEMS-BLART <> 'DZ'
                  AND IT_LINE_ITEMS-BLART <> 'ZT'.
              IT_LINE_ITEMS-XBLNR = IT_BKPF-XBLNR.
            ENDIF.
            SELECT SINGLE LTEXT FROM T003T
            INTO  IT_LINE_ITEMS-LTEXT
            WHERE BLART = IT_LINE_ITEMS-BLART
             AND  SPRAS = 'E'.
            READ TABLE IT_VBRK
                  WITH KEY VBELN = IT_LINE_ITEMS-BELNR.
            IF SY-SUBRC = 0.
              IF IT_LINE_ITEMS-BLART = 'RV'.
                IF IT_VBRK-VBTYP = 'M'.
                  IT_LINE_ITEMS-LTEXT = 'Invoice'.
                ELSEIF IT_VBRK-VBTYP = 'N'.
                  IT_LINE_ITEMS-LTEXT = 'Invoice Cancellation'.
                ELSEIF IT_VBRK-VBTYP = 'O'.
                  IT_LINE_ITEMS-LTEXT = 'Credit Note'.
                ELSEIF IT_VBRK-VBTYP = 'P'.
                  IT_LINE_ITEMS-LTEXT = 'Debit Note'.
                ENDIF.
              ENDIF.
            ENDIF.
            SELECT SINGLE LTEXT FROM T074T
            INTO  IT_LINE_ITEMS-SGLTX
            WHERE SHBKZ = IT_LINE_ITEMS-UMSKZ
            AND   SPRAS = 'E'
            AND KOART = P_KOART.
            IT_LINE_ITEMS-DAMNT = 0.
            IT_LINE_ITEMS-CAMNT = 0.
            IF IT_LINE_ITEMS-SHKZG = 'S'.
             AND IT_LINE_ITEMS-BLART <> 'ZC'
             AND IT_LINE_ITEMS-BLART <> 'DA'
             AND IT_LINE_ITEMS-BLART <> 'ZV'.
              IT_LINE_ITEMS-DAMNT = IT_LINE_ITEMS-DMBTR.
              CLOSE_BAL = CLOSE_BAL + IT_LINE_ITEMS-DMBTR.
            ELSE.
            IF IT_LINE_ITEMS-BLART <> 'ZC' AND IT_LINE_ITEMS-BLART <> 'DA'
               AND IT_LINE_ITEMS-BLART <> 'ZV'.
              IT_LINE_ITEMS-CAMNT = IT_LINE_ITEMS-DMBTR.
              CLOSE_BAL = CLOSE_BAL - IT_LINE_ITEMS-DMBTR.
            ENDIF.
             ENDIF.
            MODIFY IT_LINE_ITEMS INDEX CNT1.
          ENDLOOP.
          SORT IT_LINE_ITEMS BY BELNR DMBTR.
    *******************MODIFICATION**********
    *LOOP AT IT_LINE_ITEMS.
    *IF IT_LINE_ITEMS-BELNR = CLRDOC AND IT_LINE_ITEMS-DMBTR = CLRAMT.
       DELETE IT_LINE_ITEMS WHERE BELNR = CLRDOC AND DMBTR = CLRAMT.
    *ENDIF.
    *CLRDOC = IT_LINE_ITEMS-BELNR.
    *CLRAMT = IT_LINE_ITEMS-DMBTR.
    *ENDLOOP.
          CLRDOC = 0. CLRAMT = 0.
          CNT = 0.
          LOOP AT IT_LINE_ITEMS.
            IT_LINEITEMS_DUP-CBELNR = IT_LINE_ITEMS-BELNR.
            IT_LINEITEMS_DUP-CDMBTR = IT_LINE_ITEMS-DMBTR.
            IT_LINEITEMS_DUP-CSHKZG = IT_LINE_ITEMS-SHKZG.
            APPEND IT_LINEITEMS_DUP.
          ENDLOOP.
          LOOP AT IT_LINE_ITEMS.
    *CNT = SY-TABIX.
            LOOP AT IT_LINEITEMS_DUP WHERE CBELNR = IT_LINE_ITEMS-BELNR.
              IF IT_LINEITEMS_DUP-CSHKZG = 'S'.
                CLRAMT = CLRAMT + IT_LINEITEMS_DUP-CDMBTR.
              ELSEIF IT_LINEITEMS_DUP-CSHKZG = 'H'.
                CLRAMT = CLRAMT - IT_LINEITEMS_DUP-CDMBTR.
              ENDIF.
            ENDLOOP.
            IF CLRAMT = 0.
              DELETE IT_LINE_ITEMS WHERE BELNR = IT_LINEITEMS_DUP-CBELNR.
            ENDIF.
            CLRAMT = 0.
          ENDLOOP.
    ****************MODIFICATION***********
          SORT IT_LINE_ITEMS BY BUDAT BELNR.
          IF OPEN_BAL = 0 AND CLOSE_BAL = 0 AND IT_LINE_ITEMS[] IS INITIAL.
            COUNTR2 = COUNTR2 + 1.
           CONTINUE.
          ELSE.
            AT NEW KUNNR.
              NEW-PAGE.
            ENDAT.
            CLEAR G_FL.
           SKIP 1.
            CLEAR: WA_NAME,WA_NAME2,WA_NAME3,WA_NAME4,WA_CITY,WA_PSTLZ.
            SELECT SINGLE NAME1 NAME2 ORT01 PSTLZ
                   FROM KNA1
                   INTO (WA_NAME01,WA_NAME21,WA_CITY1,WA_PSTLZ1)
                   WHERE KUNNR IN S_KUNNR.
            WRITE : / 'Customer Account    : ', IT_BA_CUST_COMB-KUNNR,
                      100 'Business Code : ', IT_BA_CUST_COMB-GSBER,
                    /  WA_NAME01, 100 'Business Area : ', WA_GTEXT,
                    /  WA_NAME21,/ WA_CITY1,/ WA_PSTLZ1.
    SKIP 1.
            G_FL = 'X'.
    SKIP 1.
            ULINE AT (152).
            FORMAT COLOR COL_HEADING INTENSIFIED.
            WRITE :/    SY-VLINE NO-GAP, 'Doc.Date',
                     12 SY-VLINE NO-GAP, 'Doc.No.',
                     23 SY-VLINE NO-GAP, 'Ref.Doc.No.',
                     37 SY-VLINE NO-GAP, 'Ref.Doc.Date',
                     49 SY-VLINE NO-GAP, 'Ref.Doc.Name',
                    70 SY-VLINE NO-GAP, 'Advances/Deposits',
                     70 SY-VLINE NO-GAP, 'Description',
                     95 SY-VLINE NO-GAP, '          Debit' RIGHT-JUSTIFIED,
                    120  SY-VLINE NO-GAP, '         Credit' RIGHT-JUSTIFIED,
                    136  SY-VLINE NO-GAP, '        Balance' RIGHT-JUSTIFIED,
                    152 SY-VLINE NO-GAP.
            ULINE AT (152).
            FORMAT COLOR OFF INTENSIFIED OFF.
            FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
            IF OPEN_BAL >= 0.
              WRITE : / SY-VLINE NO-GAP,
                        70 SY-VLINE NO-GAP, 'OPENING BALANCE',
                        95  SY-VLINE NO-GAP,  OPEN_BAL NO-GAP,
                        120 SY-VLINE NO-GAP,
                       136 SY-VLINE NO-GAP,
                       152 SY-VLINE NO-GAP.
            ELSE.
              WRITE : / SY-VLINE NO-GAP,
                        70  SY-VLINE NO-GAP, 'OPENING BALANCE',
                        95 SY-VLINE NO-GAP,
                       120 SY-VLINE NO-GAP,  OPEN_BAL NO-GAP,
                       136 SY-VLINE NO-GAP,
                       152 SY-VLINE NO-GAP.
            ENDIF.
            FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
            ULINE AT (152).
            LOOP AT IT_LINE_ITEMS.
         WHERE BLART NE 'ZC'
          AND BLART NE 'DA'
          AND BLART NE 'ZV'.
    **************MODIFICATIONS**************
              IF MON = 0.
                MON = IT_LINE_ITEMS-BUDAT+4.
                MONTOT = OPEN_BAL.
              ENDIF.
              IF MON <> IT_LINE_ITEMS-BUDAT+4(2).
                MONTOT = MONTOT + MONDR - MONCR.
                ULINE AT (152).
                FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
                WRITE :/ SY-VLINE NO-GAP,
                        70 SY-VLINE NO-GAP, 'MONTH TOTAL',
                        95 SY-VLINE NO-GAP, MONDR,
                        120 SY-VLINE NO-GAP, MONCR,
                       136 SY-VLINE NO-GAP,
                       152 SY-VLINE NO-GAP.
             ULINE AT (152).
                IF MONTOT >= 0.
                  WRITE :/ SY-VLINE NO-GAP,
                          70 SY-VLINE NO-GAP, 'MONTH CLOSING BALANCE',
                          95 SY-VLINE NO-GAP, MONTOT,
                          120 SY-VLINE NO-GAP,
                          136 SY-VLINE NO-GAP,
                         152 SY-VLINE NO-GAP.
                ELSE.
                  WRITE :/ SY-VLINE NO-GAP,
                           70 SY-VLINE NO-GAP, 'MONTH CLOSING BALANCE',
                           95 SY-VLINE NO-GAP,
                          120  SY-VLINE NO-GAP, MONTOT,
                          136 SY-VLINE NO-GAP,
                          152 SY-VLINE NO-GAP.
                ENDIF.
                FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
           ULINE AT (152).
                MON = IT_LINE_ITEMS-BUDAT+4.
                MONDR = 0. MONCR = 0.
              ENDIF.
              IF IT_LINE_ITEMS-SHKZG = 'S'.
                MONDR = MONDR + IT_LINE_ITEMS-DMBTR.
              ELSE.
                MONCR = MONCR + IT_LINE_ITEMS-DMBTR.
              ENDIF.
              IF IT_LINE_ITEMS-SGTXT = ' '.
                PERFORM SUB_GET_TEXT.
              ENDIF.
         ULINE AT (152).
              FORMAT COLOR COL_NORMAL INTENSIFIED.
              FORMAT COLOR COL_BACKGROUND INTENSIFIED OFF.
              IF IT_LINE_ITEMS-DAMNT = 0.
                WRITE :/      SY-VLINE NO-GAP, IT_LINE_ITEMS-BUDAT NO-GAP,
                         12  SY-VLINE NO-GAP, IT_LINE_ITEMS-BELNR NO-GAP,
                         23  SY-VLINE NO-GAP, IT_LINE_ITEMS-XBLNR NO-GAP,
                         37  SY-VLINE NO-GAP, IT_LINE_ITEMS-BLDAT NO-GAP,
                         49  SY-VLINE NO-GAP, IT_LINE_ITEMS-LTEXT NO-GAP,
                         70  SY-VLINE NO-GAP, 71(23) IT_LINE_ITEMS-SGTXT
    NO-GAP,
                         95  SY-VLINE NO-GAP,
                        120  SY-VLINE NO-GAP, IT_LINE_ITEMS-CAMNT NO-GAP,
                        136  SY-VLINE NO-GAP,
                        152  SY-VLINE NO-GAP.
              ELSEIF IT_LINE_ITEMS-CAMNT = 0.
                WRITE :/      SY-VLINE NO-GAP, IT_LINE_ITEMS-BUDAT NO-GAP,
                   12  SY-VLINE NO-GAP, IT_LINE_ITEMS-BELNR NO-GAP,
                   23  SY-VLINE NO-GAP, IT_LINE_ITEMS-XBLNR NO-GAP,
                   37  SY-VLINE NO-GAP, IT_LINE_ITEMS-BLDAT NO-GAP,
                   49  SY-VLINE NO-GAP, IT_LINE_ITEMS-LTEXT NO-GAP,
                   70  SY-VLINE NO-GAP, 71(23) IT_LINE_ITEMS-SGTXT NO-GAP,
                   95  SY-VLINE NO-GAP, IT_LINE_ITEMS-DAMNT NO-GAP,
                   120  SY-VLINE NO-GAP,
                   136  SY-VLINE NO-GAP,
                  152  SY-VLINE NO-GAP.
              ELSE.
                WRITE :/      SY-VLINE NO-GAP, IT_LINE_ITEMS-BUDAT NO-GAP,
                   12  SY-VLINE NO-GAP, IT_LINE_ITEMS-BELNR NO-GAP,
                   23  SY-VLINE NO-GAP, IT_LINE_ITEMS-XBLNR NO-GAP,
                   37  SY-VLINE NO-GAP, IT_LINE_ITEMS-BLDAT NO-GAP,
                   49  SY-VLINE NO-GAP, IT_LINE_ITEMS-LTEXT NO-GAP,
                   70  SY-VLINE NO-GAP, 71(23) IT_LINE_ITEMS-SGTXT NO-GAP,
                   95  SY-VLINE NO-GAP, IT_LINE_ITEMS-DAMNT NO-GAP,
                  120  SY-VLINE NO-GAP, IT_LINE_ITEMS-CAMNT NO-GAP,
                  136  SY-VLINE NO-GAP,
                  152  SY-VLINE NO-GAP.
              ENDIF.
              IT_LINE_ITEMS-SGLTX = ''.
            ENDLOOP.
            MONTOT = MONTOT + MONDR - MONCR.
            ULINE AT (152).
            FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
            WRITE :/ SY-VLINE NO-GAP,
                   70 SY-VLINE NO-GAP, 'MONTH TOTAL',
                   95 SY-VLINE NO-GAP, MONDR,
                  120 SY-VLINE NO-GAP, MONCR,
                  136 SY-VLINE NO-GAP,
                  152 SY-VLINE NO-GAP.
               ULINE AT (152).
            IF MONTOT >= 0.
              WRITE :/ SY-VLINE NO-GAP,
                       70 SY-VLINE NO-GAP, 'MONTH CLOSING BALANCE',
                       95 SY-VLINE NO-GAP, MONTOT,
                      120 SY-VLINE NO-GAP,
                      136 SY-VLINE NO-GAP,
                      152 SY-VLINE NO-GAP.
            ELSE.
              WRITE :/ SY-VLINE NO-GAP,
                       70 SY-VLINE NO-GAP, 'MONTH CLOSING BALANCE',
                       95 SY-VLINE NO-GAP,
                      120 SY-VLINE NO-GAP, MONTOT,
                      136 SY-VLINE NO-GAP,
                      152 SY-VLINE NO-GAP.
            ENDIF.
            FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
            ULINE AT (152).
            MONCR = 0. MONDR = 0.
            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
            FORMAT COLOR COL_TOTAL INTENSIFIED.
            IF CLOSE_BAL >= 0.
              WRITE : / SY-VLINE NO-GAP,
                        70  SY-VLINE NO-GAP, 'CLOSING BALANCE',
                        95 SY-VLINE NO-GAP, CLOSE_BAL NO-GAP,
                       120 SY-VLINE NO-GAP,
                       136 SY-VLINE NO-GAP,
                       152 SY-VLINE NO-GAP.
            ELSE.
              WRITE : / SY-VLINE NO-GAP,
                        70 SY-VLINE NO-GAP, 'CLOSING BALANCE',
                        95 SY-VLINE NO-GAP,
                       120 SY-VLINE NO-GAP, CLOSE_BAL NO-GAP,
                       136 SY-VLINE NO-GAP,
                       152 SY-VLINE NO-GAP.
            ENDIF.
            ULINE AT (152).
            MON = 0. MONTOT = 0.
            MONDR = 0. MONCR = 0.
          ENDIF.
          FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
          FORMAT COLOR COL_BACKGROUND INTENSIFIED OFF.
    *****MODIFICATION ON 13.08.2005***
          CLEAR IT_LINE_ITEMS.
          REFRESH IT_LINE_ITEMS.
          CLEAR OPEN_BAL.
          CLEAR CLOSE_BAL.
    ******END OF MODIFICATION****
          FREE OPEN_BAL.
          FREE CLOSE_BAL.
          FREE IT_LINE_ITEMS.
         IF G_FL = 'X'.
           AT END OF KUNNR.
             NEW-PAGE.
           ENDAT.
           CLEAR G_FL.
           SKIP 1.
         ENDIF.
        ENDLOOP.
      ENDIF.                     " ENDIF OF NOT INITIAL IT_BA_CUST_COMB.
    ***********MODIFICATION**********
      IF  COUNTR1 = COUNTR2.
        WRITE : /20 '********** NO DATA SELECTED **********'.
      ENDIF.
    ********END OF MODIFICATION********
      IF IT_BA_CUST_COMB[] IS INITIAL.
        WRITE : /20 '********** NO DATA SELECTED **********'.
      ENDIF.
    ENDFORM.                    "PROCESS_DISPLAY_DATA
    *&      Form  sub_get_text
          text
    FORM SUB_GET_TEXT .
    *select single * from vbak where vbeln = it_vbrk-aubel.
      DATA: L_VBELN LIKE THEAD-TDNAME.
      SELECT SINGLE AUBEL FROM VBRP INTO VBRP-AUBEL WHERE VBELN =
    IT_LINE_ITEMS-BELNR.
      L_VBELN = VBRP-AUBEL..
    l_vbeln = it_vbrk-aubel.
      CALL FUNCTION 'READ_TEXT'
        EXPORTING
         CLIENT                        = SY-MANDT
          ID                            = '0001'
          LANGUAGE                      = SY-LANGU
          NAME                          = L_VBELN
          OBJECT                        = 'VBBK'
      ARCHIVE_HANDLE                = 0
      LOCAL_CAT                     = ' '
    IMPORTING
      HEADER                        =
        TABLES
          LINES                         = IT_TEXT
       EXCEPTIONS
         ID                            = 1
         LANGUAGE                      = 2
         NAME                          = 3
         NOT_FOUND                     = 4
         OBJECT                        = 5
         REFERENCE_CHECK               = 6
         WRONG_ACCESS_TO_ARCHIVE       = 7
         OTHERS                        = 8
      IF SY-SUBRC <> 0.
        REFRESH: IT_TEXT.
        CLEAR: IT_TEXT.
      ENDIF.
      LOOP AT IT_TEXT.
        IT_LINE_ITEMS-SGTXT = IT_TEXT-TDLINE.
      ENDLOOP.
    ENDFORM.                    "sub_get_text
    *&      Form  GET_SUP_PLANT
          text
    -->  p1        text
    <--  p2        text
    FORM GET_SUP_PLANT  .
      CALL FUNCTION 'PIA_CSO_PLANT_ADDRESS_READ'
        EXPORTING
          PI_PLANT         = WA_VWERK
       IMPORTING
         PE_PLADDR        = IT_PLANT
        PE_RETURN1       =
    APPEND IT_PLANT.
    LOOP AT IT_PLANT.
    WA_NAME = IT_PLANT-NAME.
    WA_NAME2 = IT_PLANT-NAME_2.
    WA_NAME3 = IT_PLANT-NAME_3.
    WA_NAME4 = IT_PLANT-NAME_4.
    WA_CITY = IT_PLANT-CITY.
    WA_PSTLZ = IT_PLANT-POSTL_COD1.
    ENDLOOP.
    ENDFORM.                    " GET_SUP_PLANT

  • TS3297 there was an error in the itunes store.  Please try again later

    I keep getting this error that there was an error in the itunes store.  Please try again later.  I don't seem to have problems downloading music when purchased.  Does anyone know how to stop this pop up.
    It's making me crazy.
    m-

    I've been getting errors all morning when trying to connect to thestore either from my Apple TV to watch purchased TV shows, or from my iPhone to redeem gift cards - it would allow me to enter the voucher code but gave no confirmation, but then rejected a second attempt to enter the code - but wouldn't allow me to view my account to confirm my balance.
    Connected OK from iTunes on my MacBook Air, the gift cards hadn't been credited, but I was able to add them from there.
    Just keep trying?

  • Question: 9i- 10g

    Hi all,
    What does anyone know or have an opinion regarding 10g's ability with Virtual Private Databases/Row level security and Unix based servers providing client-server forms and reports services to browser based windows and unix clients?
    My organisation has been stuck in Forms 6 land because of heavy limitations of Forms 9's ability to handle row level security in this situation and I was curious to know if anyone has upgraded to 10g and resolved any issues in that regards.
    Thanks all.

    This is another article:
    TECHNOLOGY: Security
    Keeping Information Private with VPD
    By Arup Nanda
    Oracle's row-level security gives users their own virtual private databases.
    Ensuring appropriate information privacy is a pressing concern for many businesses today, given privacy legislation such as the United States' HIPAA (Health Insurance Portability and Accountability Act), Gramm-Leach-Bliley Act, Sarbanes-Oxley Act, and the EU's Safe Harbour Law. Other privacy mandates, such as Visa's Cardholder Information Security Program (CISP), also require businesses to ensure that access to information is tightly controlled.
    Oracle has always included the ability to grant (or deny) users access to database objects, but these privileges are defined at the object level—for an entire table, not for specific rows in that table. Although that approach is sufficient for many applications, any application touching on financial, health, or other kinds of personal information usually requires more-discrete controls over access and authorization.
    Oracle's row-level security (RLS) feature, introduced in Oracle8i, provides fine-grained access control—fine-grained means at the individual row level. Rather than opening up an entire table to any individual user who has any privileges on the table, row-level security restricts access to specific rows in a table. The result is that any individual user sees a completely different set of data—only the data that person is authorized to see—so the overall capabilities are sometimes referred to as Oracle's virtual private database, or VPD, feature.
    Using Oracle's VPD capabilities not only ensures that companies can build secure databases to adhere to privacy policies but also provides a more manageable approach to application development, because although the VPD-based policies restrict access to the database tables, they can be easily changed when necessary, without requiring modifications to application code.
    For example, say a bank's account managers (AMs) provide personal customer support to high-net-worth account holders. AMs use a custom banking application to help them check their customers' balances, deposit or withdraw funds, and decide on loan requirements, for example. At one time, the bank's policy was to allow all AMs to access all account holder information, but that policy was recently changed. Now, AMs are assigned to a particular set of customers, and they need to be able to access information pertaining only to those customers. The policy change needs to be reflected in the application, which currently shows all customer information to each AM, not just information on the customers to whom each particular AM is assigned.
    To make the application comply with the new privacy policy, the bank has three choices:
    Modify the application code to include a predicate (a WHERE clause) for all SQL statements. This option doesn't ensure privacy policy enforcement outside the application, however, and if there are other changes in the future, the code will once again have to be modified, so this is not a good approach in the long term.
    Leave the application intact, creating views with the necessary predicates and creating synonyms with the same name as the table names for these views. This option is better from the perspective of application changes and security, but it can be difficult to administer, because of the potentially large number of views to track and manage.
    Create a VPD for each of the AMs by creating policy functions that generate dynamic predicates, which can then be applied across all objects, regardless of how they are accessed, by setting up policies with the row-level-security built-in package (DBMS_RLS).
    This last option offers the best security without administrative overhead and ensures complete privacy of information—all the account managers see a different view of the table, according to their own credentials.
    This article shows you how to set up a VPD security model. It goes through the process by using the foregoing bank scenario to create policy functions, define policies, and then test results. (Note that the tables are not completely defined, to keep the example simple.)
    Basic Setup for the Example Application
    Briefly, here are the basic assumptions about the example bank application:
    A BANK schema owns two key tables that make up the application—a CUSTOMERS table:
    Name Null? Type
    CUST_ID NOT NULL NUMBER
    CUST_NAME NOT NULL VARCHAR2(20)
    and an ACCOUNTS table:
    Name Null? Type
    ACCT_NO NOT NULL NUMBER
    CUST_ID NOT NULL NUMBER
    BALANCE NUMBER(15,2)
    Listing 1 comprises the SQL script for creating and populating these two basic example tables.
    User SECMAN (security manager) owns an ACCESS_POLICY table that identifies the AMs and their respective customer accounts:
    Name Null? Type
    AM_NAME NOT NULL VARCHAR2(20)
    CUST_ID NOT NULL NUMBER
    ACCESS_TYPE NOT NULL CHAR(1)
    The AM_NAME column stores the user ID of the account manager; CUST_ID identifies the customer; and ACCESS_TYPE defines the specific access entitlement—S (SELECT), I (INSERT), D (DELETE), or U (UPDATE). Some example records from the ACCESS_POLICY table follow:
    AM_NAME CUST_ID ACCESS_TYPE
    SCOTT 123 S
    SCOTT 123 I
    SCOTT 123 D
    SCOTT 123 U
    SCOTT 456 S
    SCOTT 789 S
    LARA 456 I
    LARA 456 D
    LARA 456 U
    LARA 456 S
    As you can see, SCOTT, the AM for customer 123, has all privileges—S, I, D, and U—as does LARA for customer 456. Also, because SCOTT can confirm account balances for one customer of LARA, he has S privileges on customer 456.
    Step 1. Create a Policy Function
    The bank's access rules (contained in the ACCESS_POLICY table) must be applied somehow, dynamically, whenever an AM tries to look into customer account information. The first step is to create a policy function that returns the appropriate predicate to be applied to the table. As with the ACCESS_POLICY table, the policy functions are created and controlled by user SECMAN, for security purposes. It's best to keep privacy rules separate from the tables to which they apply.
    Let's examine the policy function, get_sel_cust_id—shown in Listing 2— in detail:
    Accepts exactly two parameters: the schema name (p_schema in varchar2) and the table name (p_table in varchar2)
    Returns one value only, a string—return varchar2 as l_retstr varchar2(2000);—comprising the predicate that will be appended to every query on the table
    Uses a cursor routine—for cust_ rec in—to get the list of values, because each user may have several cust_ids listed in the table
    Returns a constructed string—l_retstr—to be used as a predicate whenever any user attempts to access the underlying table
    The function returns the predicate where cust_id in with the appended list of customer accounts (cust_id), separated by commas, that the user (am_name = USER) is allowed to see.
    Note that before entering the loop that builds the list of cust_ids for the user, the code in Listing 2 checks to see if the user is the table owner BANK, in which case the function returns a NULL predicate, as follows:
    if (p_schema = user) then
    1_retstr := null;
    After building this function, you want to make sure it returns the appropriate predicate, by testing some sample data. Connect to the database as SECMAN, and insert some records into the ACCESS_POLICY table, giving SECMAN read privileges on a few sample accounts, as follows:
    insert into access_policy values ('SECMAN',123,'S');
    insert into access_policy values ('SECMAN',456,'S');
    insert into access_policy values ('SECMAN',789,'S');
    Now execute the function:
    select get_sel_cust_id
    ('BANK','CUSTOMERS') from dual;
    The function returns a string that will be applied as a predicate, as shown in the following sample output:
    GET_SEL_CUST_ID('BANK','CUSTOMERS')
    CUST_ID IN (123,456,789)
    You need to create similar functions for the other types of access. For simplicity's sake, create a single function for all the other access types—UPDATE, DELETE, INSERT—as shown in Listing 3. However, note that for a real-world application, each type of access should have its own individual function defined, to ensure appropriate privacy.
    The policy function in Listing 3 is nearly identical to the policy function in Listing 2, except that the predicate is further qualified by use of the information from the ACCESS_CONTROL table:
    and access_type in ('I', 'U', 'D')
    Creating a policy function is just the first step. You now need to ensure that the function will be used, by defining the policy that should control its use in your system.
    Step 2. Define a Policy
    Policies are defined with the DBMS_RLS package, which is Oracle-supplied. Be aware that the policies themselves are not database objects owned by any user (schema); they are logical constructs. Any user who has the execute privilege on the DBMS_RLS package can modify or drop a policy created by another user. Privileges to DBMS_RLS should be judiciously controlled and granted with caution.
    In the following example, user SECMAN is granted execute privileges (by SYS) on the DBMS_RLS package:
    grant execute on dbms_rls to secman;
    Listing 4 creates a policy named CUST_SEL_POLICY on the table CUSTOMERS of schema BANK. This policy applies the predicate returned by the function GET_SEL_CUST_ID (which is shown in Listing 2) owned by schema SECMAN to all SELECT statements on the table.
    Similarly, you place another policy on the table for other access types, as shown in Listing 5. This policy applies to inserts, updates, and deletes in the CUSTOMERS table.
    It is almost identical to the SELECT policy, except that this policy includes a check that ensures that the policy will remain compliant even after an update:
    update_check => TRUE
    Data cannot be added to the table unless it adheres to the policy.
    Step 3. Test the Setup
    Now that the building blocks are in place, let's see how they work. Connecting as user BANK and issuing a simple select * from customers; query displays the following:
    CUST_ID CUST_NAME
    123 Jay Kulkarni
    456 Wim Patel
    These two records are the full contents of the CUSTOMERS table, and both records are shown because BANK owns the table, so the predicate clause is NULL—that is, no predicate is applied. However, when user LARA makes the same query, she sees the following:
    select * from customers;
    CUST_ID CUST_NAME
    456 WIM PATEL
    LARA sees only CUST_ID 456, not 123, because that is the row she is authorized to see, as determined by the ACCESS_ POLICY table. Note that the query has no WHERE clause but that the selection from the table is automatically filtered to show only the authorized rows.
    If user SCOTT makes the same query, his results are different from the results for LARA: select * from customers;
    CUST_ID CUST_NAME
    123 Jay Kulkarni
    456 Wim Patel
    User SCOTT sees both rows, because he is authorized to do so, as shown in the ACCESS_POLICY table. When user LARA issues the query, the policy function get_sel_cust_id returns the predicate where cust_id in (456). Lara's original query select * from customers is rewritten as
    select * from
    (select * from customers)
    where cust_id in (456)
    The predicate is automatically appended to the user's original query. The same thing happens when the user updates the table:
    SQL> update bank.customers
    2 set cust_name = 'PAT TERRY';
    1 row updated.
    Note that in this example, only one row is updated, even though there are actually two rows in the underlying table. The policy (CUST_IUD_POLICY) appends the predicate where cust_id in (456) to the update statement. Similarly, while the table is being deleted, only the rows for which the user is authorized are deleted.
    Attempting to insert a row containing data for which the user is not authorized results in an error message. For example, in this query, LARA is attempting to add a record to the CUSTOMER table for an account not under her purview: Next Steps
    READ more about
    VPD Oracle9i Supplied PL/SQL Packages and Types Reference
    Oracle Privacy Security Auditing
    SQL> insert into bank.customers
    2 values (789,'KIM PARK');
    insert into bank.customers
    ERROR at line 1:
    ORA-28115: policy with check option
    violation
    According to the ACCESS_POLICY table, Scott has SELECT privileges on account 789—no other privileges for any other AM are listed in the table.
    Using policies in conjunction with functions ensures authorized access to specific records of a table. The rules are applied regardless of how the table is accessed, whether through an application or directly through an ad hoc query tool, such as SQL*Plus. Users see only rows for which they have been authorized.
    Policies can be applied to multiple tables, and a single policy function can be used by any number of policies. Listing 6 shows a policy on an ACCOUNTS table that uses the get_sel_cust_id function initially created for use with the CUSTOMERS table.
    Arup Nanda ([email protected]) is the chief database architect at Proligence Solutions ( Printer View
    http://otn.oracle.com/oramag/oracle/04-mar/o24tech_security.html
    Joel Pérez
    http://otn.oracle.com/experts

Maybe you are looking for

  • Save SSRS Report as pdf using Reporting Services

    I've been trying to convert a SSRS Report to PDF and save to my local drive using the Reporting Web Services. Though I'm able to generate the corresponding pdf file but the contents of the file are missing. I've checked that the report I'm trying to

  • Itunes will not launch after upgrading to 11.1.5 with my 10.6.8 mac book pro

    as soon as I upgraded to the new itunes, when clicking on the icon in the dock I noticed the icon bounced up and down once but itunes never opened up. Tried it latter in the day and it still would not open. My operating system is 10.6.8and I have the

  • Dynamic query syntax for EJB

    If i'm going to let the user search the database table (eg. Employee) based on 4 parameters, ie. employee id, employee name, position and address. In cmp entity bean, the stupid way is to create (2 power of 4) findByMethod ejb-ql statements to fulfil

  • Is there a setting in Contacts so I can I print mailing labels with just the last name of my contacts?

    I'd like to print mailing labels that just show the person's last name, no first names.  For example just "Smith," not John Smith.  Is there a way to do this? 

  • Datafrom different years 1 table

    Hello all, A table ('main') contains data for multiple years (2009, 2010, 2011) , department and expense. How can I duplicate in Oracle BI 11G : select a.department, a.expense, a.year,b.department, b.expense, b.year, from main a, main b where a.depar