Legal person

Hi Gurus,
I wanted to know is there a standard SAP functionality that if there is change in legal person in infotype 0001 then a organisation reassignment action cannot be performed.
If no, where can the settings be done, as I am not able to perform org reassignemnt when there is change in the legal person.
Please help me understand the functionality of the legal person, where it is used?
Thanks
Kavita

hi,
Check the screen control for infotype 1.is this field showing in the infotype screen as input?try to create manually through PA30.
If its not showing in the screen or shown in display mode,change the screencontrol in table T588M.
sm30->T588M->maintain->double click on the MP000100 with ur variable key->change  P0001-JUPER radio button option to 'std'.
Regards,
Manoj.

Similar Messages

  • Change of personnel subarea results in change of legal person

    Hi Experts.
    I have search in this forum after answer on this question, but haven't find any.
    To start with, we have implemented CE.
    My problem is that if we have hired a person on wrong date and want to change the date to an earlier date, infotype 0000 is OK, but infotype 0001 will not be changed.
    The error message says: Change of personnel subarea results in change of legal person.
    I have checked the table V_001P_G and it seems to be right. I can't find any fault.
    I have tried all other suggestions I have found in this forum such as, Change and Execute info group when running Change entry/leaving date in PA30. Executing the programs RPUFIXDS and RPUP0001 with negative result.
    So if there is anyone who can explain to me what this error message actually means, and of course have a solution, I would be really happy.
    Thanks   //   Peter B

    Hi Peter,
    Apply the following note,
    1487263 - transaction PA41 error message is displayed in IT00
    after implementing, Kindly use transaction PA41.
    The 'Correct action' function (PA41) offers a special functionality for
    hiring and termination events only: When changing the begin date of
    the event the begin date of all infotype records belonging to the
    infogroup assigned will be shifted accordingly.
    Hope this will solve your issue.
    Regards,
    Meera

  • Updating the IT0001 field Legal Person

    Hi All,
              I cant able to make any screen modification in the field Legal Person... Even if i update the field by means of using the FM HR_INFOTYPE_OPERATION its not updating.
    Please provide me a solution how can i update that field.
    Thanks
    Yogesh

    Hi,
       Thanks for your reply. But i have use the same code for updating the field SACHP for that i can able to make it. but when i try to update this Legal Person ID alone its not updating.
    Can you Provide the solution
    Thanks
    Yogesh

  • Error: Ref.pers.nos. must have the same legal person

    Hi All,
    I keep getting this error message when setting up a Multiple Employment for an employee.
    When I get to infotype 0121 (create RefPerNo) I get the above message.
    I only get it for a couple of employees I have tried to create a second position for and others work fine.
    I don't understand the message as the action copies all the personnel data from the primary record, so it is the same person!?! Details are identical on 0002.
    Please Help
    Sam<b></b>

    Hi SAM,
    There might be some mismatch in data or might be because of authorization.
    Let us assume, that you are using Reference Personnel number to assign different assignment for the employee, if so, you no need to maintain it in Reference number, do your Personnel Action as usual and assign different Position for the employee, so that, system recognize it as, different assignment for the same employee.
    Let us know the exact error message, you are getting while executing.
    Good Luck
    Om
    Reward it, if u feel helpful.

  • Process of debit of duty in case of purchase return

    DEar all,
    can i have the system customised in such a way that for the scenario of debit of duty in case of purcase return , the debit should happen to rg 23 part2 . And if there is no balance then it should debit rg23 c part 2 and if there is a no balance in it then it should then debit PLA .???
    If yes how can i do the same . Please mention if any config change is there?

    HI,
    can i have the system customised in such a way that for the scenario of debit of duty in case of purcase return , the debit should happen to rg 23 part2 . And if there is no balance then it should debit rg23 c part 2 and if there is a no balance in it then it should then debit PLA .???
    First basic things
    Rg23A
    Rg23C
    RG23D
    PLA
    are different register and for different purpose.
    EX< if you are returning row material to vendor then Rg23A will update as row material you know it very well.
    now how you can use Rg23C balance fro row material ?
    for Rg23C  for asset and consumable 50% excise value put in Hold
    yes if don't have any balance in Rg23A then you have to use PLA
    still i have dought on that.
    I know in utilization we can use PLA but for sale ( return nothing but indirect sale) can we used check with your legal person ?
    Regards
    Kailas Ugale

  • Help of professionals to increase your income via Money Investment!

    About the company - money management
    Private Fund Management is an international investment company specializing in asset management services. During its long history, it has achieved and occupied a stable position in the financial market and won the confidence of numerous investors from all over the world.
    Private Fund Management’s achievements in statistics:
    •     Today the company’s assets holdings are equal to $3 billion.
    •     Its profits grow at a steady speed of about $40-50 thousand a week.
    •     Currently the company has more than 20,000 customers.
    •     Private Fund Management opens up to 200 new accounts a day.
    •     The size of investments made by its clients varies from $1,000 to $100,000,000.
    What is the reason for the booming development of Private Fund Management? How does this company manage to increase the profits it brings to its customers?
         Professionalism of our staff
    Any company is its staff in the first place. The team of Private Fund Management consists of only top-level professionals - the graduates of the world’s best universities. Every single day they utilize various financial tools in order to sign advantageous contracts, thus ensuring maximum profits for the clients of Private Fund Management.
         Developed corporate culture
    Each person working for Private Fund Management follows the rules that make up the company’s corporate culture, which is based on such key elements such as: ethical behavior, top service quality, and non-stop improvement of services. The process of staffing the company is based upon the principle of creating a team of like-minded people motivated to achieve the best financial results and avoid any risks that assets may be prone to.
    Confidence of our clients
    The main rule of Private Fund Management’s operation is the strict observance of the client’s interests. We aim at achieving stable high profits off the invested means and take the maximum care of the safety and reliability of the capital by means of insuring every single investment.
    Immediate proximity of our offices to the customers in any country of the world
    Private Fund Management pays special attention to the quality and availability of services intended for investors of absolutely different levels. Our investment company collaborates with reliable advertisement agencies in different countries. Due to this fact, any client, no matter the country of origin, gets full informational support from the local partner of Private Fund Management. You can find the contact information provided by our partners at: http://myinvestbusiness.com/about.
    Asset management
    Asset management comprises the management of the client’s funds conducted on the basis of the contract signed by the investor and the management company. An investor transfers his or her powers to the management company, which chooses a professional and effective investment strategy based on the client’s aims and financial capability.
    The traders react to any fluctuations on the financial market by immediately correcting the investment strategy in order to achieve and maintain high profit levels for an investor.
    Asset management for our clients
    •     The reliability of cooperation with a professional investment company.
    •     No restrictions concerning the sum of the initial investment.
    •     Guaranteed profit rate acquired at specified periods of time.
    •     All decisions concerning the management of the acquired profits are made by the investor himself.
    •     The management company works hard to increase the investor’s income since the size of the brokerage received by it depends on the profit acquired by the client.
    Does this investment method suit you?
    Business development
    The main reason for investing money into something is the formation of an additional source of passive income. If a client chooses the right way of investing money, he or she will be able to enjoy a certain degree of freedom in the development of his or her main business. Having a predetermined regular income, you will be able to expand the influence of your company at the market, invest the acquired profits into the development of new solutions and products, and define the prospective growth taking into consideration the peculiar features of your own stabilization fund.
    Personal aims
    By transferring a part of your funds to an asset management company, you will be able to figure out how you are going to use the acquired additional income for your own purposes. This sum used to be just a kind of stabilizer, but now you will be able to spend more money on recreation and unplanned purchases without increasing the size of the supply subtracted from your regular income.
    Increasing the assets
    By increasing the amount of funds transferred to an asset management company by means of acquired profits you will be increasing your own capital. At the same time the money doesn’t just get accumulated – it keeps on working for you. Consequently, the larger is the invested sum, the more profit you get from it.
    The advantages of transferring free funds into asset management
         The ability to build up your own investment business.
         Freedom in the process of designing more ambitious development strategies.
         Guaranteed stability and substantial amount of profits.
         Additional funds that can be used in the realization of one’s personal aims.
         Capital growth and steady increase of the active income.
    The advantages that we offer
    Individual approach and absolutely straight dealing with our clients. We strive towards close long-term business relationships that are able to bring mutual profits to our clients, partners, and ourselves. Guided by the willingness to achieve our common goals, we pay maximum attention to each of our investors. We value long-term relationships with our investors much higher than one-time transactions – that’s why we keep on doing our best to give maximum confidence to our clients and ensure the perfect performance of our liabilities.
    Reliability. We minimize the risks taken by our clients by means of investment diversification and the utilizations of a specific investment strategy. All the investments that we manage get insured at the conditions that guarantee fullest protection of our clients’ interests.
    Blameless reputation. During our history we have signed a lot of profitable contracts. Long years of successful operation at the international market have resulted in the establishment of our company’s blameless reputation based on the professional operation of our staff as well as the highest quality of the provided services.
    Safe Investment Management Conception. Our work is based upon the principles; the effectiveness of which has been tested and proven in practice.
    •     Objective valuation of expectations.
    •     Detailed reports about the achieved results.
    •     Scrupulous risk management.
    •     Full correspondence of our activity to the current legislation.
    •     The willingness to find an appropriate solution for every particular problem.
    •     Creative approach towards the problems experienced by our clients.
    •     Aiming at the establishment of long-term business relationships with our clients.
    The clients working with Private Fund Management should be fully confident of the reliability and the potential profitability of their investment. Our employees will help you choose the most convenient and well-paying investment option for you after picking up the appropriate investment strategy and investment portfolio.
    Investment portfolios
    While choosing the appropriate investment means one will always have to look for the happy medium between two indices: profitability and possible risks. These indices are in direct relation to each other - the bigger is the potential profit, the bigger is the potential risk. It has to be noted that the concept of risk is getting less and less relevant these days since within the past seven years of our operation at the financial market none of our clients have ever received profits lower than those agreed upon during the process of signing the contract. We offer solutions able to help each of our customers to choose the investment means that is the most profitable for him or her in particular.
    What is an investment portfolio?
    An investment portfolio is the combination of assets that you invest your money into. The process of building up an investment portfolio is based upon the process of choosing securities. The main reason for creating a portfolio is pretty simple – if done correctly, it will allow you to supply your set of securities with such investment features (profitability and risk) that cannot be achieved by purchasing only stocks or bonds, for instance. Combination is the only key to creating a good investment portfolio.
         Peculiar features of different investment portfolios
         All investment portfolios are built up in accordance with one of the following strategies:
    •     The strategy aimed at the aggressive capital growth stimulation with high level of risk. Potential annual profitability of this strategy can be estimated at about 35%. This strategy is based upon the utilization of tools with a high level of risk: shares, futures, and options.
    •     The strategy aimed at low-risk investment and intended for steady capital growth (about 22% annually). Stocks can serve as an example of low-risk investment tools.
    By combining high- and low-risk approaches in different proportions, the experts of Private Fund Management develop investment portfolios based on the requirements set by different clients.
    Private Fund Management investment portfolios
    Fixed income
    Risk: zero.
    Liquidity: one week.
    Recommended investment period: 6-12 months
    Expected income: 20-22%.
    “Fixed income” portfolio allows increasing assets slowly but without any risk.
    A “fixed income” portfolio is appropriate for those investors who aim at getting profits higher than those brought by ordinary bank deposits but want to stick to the liquidity and the reliability of bank deposits. The assets in this case will be long-term corporate and municipal bonds turned into hard currency.
    A “fixed income” investment portfolio comprises bonds that are kept until the moment of their purchase – that’s why there is no investment risks associated with this type of portfolio.
    Bond portfolio
    Risk: minimal.
    Liquidity: one week.
    Recommended investment period: 12-18 months.
    Expected income: 22-25%.
    Expected risk: 6%.
    Bond portfolio is a happy medium between a good income level and relatively small investment risk.
    A bond portfolio will allow you to get profits higher than those acquired by means of an average bank deposit. The assets in this case will be corporate, municipal, and state bonds turned into U.S. currency. The peculiar features of this kind of portfolio are: low risk level and high liquidity.
    High profits acquired through the use of this portfolio result from the increase in price of the equities and the steady development of the company - a share in which is purchased by the investor.
    Conservatively balanced portfolio
    Risk: medium.
    Liquidity: 1-2 weeks.
    Recommended investment period: 12-18 months
    Expected income: 25-30%.
    Expected risk: 9%.
    Conservatively balanced portfolio – high profits acquired with a relatively low risk level achieved through asset diversification.
    A client who chooses to invest his money into a conservatively balanced portfolio gets higher profits than a person holding a bond portfolio. In this case the level of risk goes up just a little if compared to a bond portfolio.
    A conservatively balanced portfolio includes the stocks of worldwide companies as well as various bonds. The ratio between these two types of securities is the following: 20% - stocks, 80% - bonds.
    Actively balanced portfolio
    Risk: medium.
    Liquidity: 1-2 weeks.
    Recommended investment period: 12-18 months.
    Expected income: 30-35%.
    Expected risk: 15%.
    Actively balanced portfolio shows the highest levels of expected income but acceptably high levels of expected risk as well.
    An actively balanced portfolio is based on the same principle with the conservatively balanced one. The assets that it offers are also stocks and bonds of worldwide companies. The only thing that makes it different from the previous portfolio is the ratio of stocks to bonds. This ratio for a well-balanced portfolio will vary from 50:50 to 75:25.
    An actively balanced portfolio allows the client to gain profits as big as those acquired through investment into bonds but at the same time reducing the investment risks.
    You can make up your mind about the choice of a certain portfolio with the help of the following table showing the income that you will be able to get through the usage of different investment products.
    Income table
    Our company aims at working in full correspondence with the requirements set by the times that we are living in and supplying its clients with well-paying investment products. The size of the expected income from each of the portfolios is reflected in the following table.
    Sum of investment, $     Period     Profits by portfolio
              With fixed liquidity     Bond     Conservatively balanced     Actively balanced
    10 000     6 months     11 100
         11 250     11 500     11 750
         1 year     12 200
         12 500     13 000     13 500
         3 years     16 600
         17 500     19 000     20 500
         5 years     20 100     22 500     25 000     27 500
    50 000     6 months     55 500
         56 250     57 500     58 750
         1 year     61 000
         62 500     65 000     67 500
         3 years     83 000
         87 500     95 000     102 500
         5 years     105 000     112 500     125 000     137 500
    100 000     6 months     111 000
         112 500     115 000     117 500
         1 year     122 000
         125 000     130 000     135 000
         3 years     166 000
         175 000     190 000     205 000
         5 years     210 000     225 000     250 000     275 000
    500 000     6 months     555 000
         562 500     575 000     587 500
         1 year     610 000
         625 000     650 000     675 000
         3 years     830 000
         875 000     950 000     1 025 000
         5 years     1 050 000     1 125 000     1 250 000     1 375 000
    1 000 000     6 months     1 110 000
         1 125 000     1 150 000     1 175 000
         1 year     1 220 000
         1 250 000     1 300 000     1 350 000
         3 years     1 660 000
         1 750 000     1 900 000     2 050 000
         5 years     2 100 000     2 250 000     2 500 000     2 750 000
    Investment insurance
    We are fully aware of the fact that most investors are afraid of bankruptcy and shutdown of their asset management company. In order to protect the rights and legal interests of our investors, and to stimulate confidence in our company and attract new investments, we offer our clients to insure the full sum of their investments (including the interest) in an international insurance agency.
    Which investments can be insured?
    A client of our company can insure the money (no matter the sum or the currency) put into an investment account at Private Fund Management by any natural or legal person. The interest gets insured only if it has been added to the main body of the investment in accordance with the terms of the contract.
    What should you know about the replacement of capital?
    This is how the insurance system works: in case of Private Fund Management’s shutdown or loss of investment license, all of its investors get fixed capital replacements. In accordance with the investment insurance law, the repaid sum should be equal to 100% of the invested one.
    Replacement of invested capital is made in the currency, which the client was using to open his or her investment account. The investor may choose to get the replaced sum in cash or via wire transfer.
    Conclusion
    During the past few years, the staff of Private Fund Management has managed to reach the heights that numerous enterprises with much longer history are still dreaming of. They have established a successful company aiming at saving and increasing the clients’ capital.
    In our work we strive towards perfection and blameless reputation. And now we can already say that Private Fund Management is a full-service management company that can be considered a highly effective financial market guide and the provider of profitable financial solutions for its clients.
    The staff of Private Fund Management will help you choose the most profitable and convenient investment option through picking out an appropriate investment strategy and building up an appropriate investment portfolio. Test it yourself. We will be happy to work with you!
    Contact us
         The representatives of Private Fund Management team will be happy to answer all your questions by phone at:
    USA/Canada + 16462332071
    UK + 442081332017
         We guarantee to respond to any letters sent to: [email protected]
         You will be able to find additional information about our company and the services that it offers at: http://www.my-investment.com

    The limit imposed by Facebook has been a moving target.  It has not been that long since the limit was 200 (it is now 1000).  You do not say what version of Aperture and OSX you are using, but if not the latest, it is possible that the change in limit by FB has not been updated, and may not be updated in earlier verions?
    I can't say for sure, as I seldom put more than 20 photos in any one album.  I don't have any friends that I would expect to plow thru 1000, or even 200.
    Ernie

  • OpenSUSE 11.0b3 E.U.L.A. Yes. They did it again...

    openSuse 11.0 will be shipped with E.U.L.A. Take a look...
    The Software may contain an automatic disabling mechanism that prevents its use after a certain period of time, so You should back up Your system and take other measures to prevent any loss of files or data.
    lol lol lol lol lol lol lol!!!
    The full E.U.L.A.
    openSUSE 11.0
    Novell Pre-Release Software License Agreement
    PLEASE READ THIS AGREEMENT CAREFULLY. BY INSTALLING OR OTHERWISE USING
    THE SOFTWARE (INCLUDING ITS COMPONENTS), YOU AGREE TO THE TERMS OF
    THIS AGREEMENT. IF YOU DO NOT AGREE WITH THESE TERMS, DO NOT DOWNLOAD,
    INSTALL OR USE THE SOFTWARE AND, IF APPLICABLE, RETURN THE ENTIRE
    UNUSED PACKAGE TO THE RESELLER WITH YOUR RECEIPT FOR A REFUND. THE
    SOFTWARE MAY NOT BE SOLD, TRANSFERRED, OR FURTHER DISTRIBUTED WITHOUT
    PRIOR WRITTEN AUTHORIZATION FROM NOVELL.
    RIGHTS AND LICENSES
    This Novell Software License Agreement ("Agreement") is a legal
    agreement between You (an entity or a person) and Novell, Inc.
    ("Novell") with respect to the software product identified in the
    title of this Agreement, media (if any) and accompanying documentation
    (collectively the "Software").
    The Software is a collective work of Novell. You may make and use
    unlimited copies of the Software for Your distribution and use within
    Your Organization. You may make and distribute unlimited copies of
    the Software outside Your organization provided that: 1) You receive
    no consideration; and, 2) you do not bundle or combine the Software
    with another offering (e.g., software, hardware, or service). The
    term "Organization" means a legal entity, excluding subsidiaries and
    affiliates with a separate existence for tax purposes or for legal
    personality purposes. An example of an Organization in the private
    sector would be a corporation, partnership, or trust, excluding any
    subsidiaries or affiliates of the organization with a separate tax
    identification number or company registration number. In the public
    sector, an example of Organization would be a specific government
    body or local government authority.
    The Software is a modular operating system. Most of the components
    are open source packages, developed independently, and accompanied by
    separate license terms. Your license rights with respect to
    individual components accompanied by separate license terms are
    defined by those terms; nothing in this Agreement (including, for
    example, the "Other License Terms and Restrictions," below) shall
    restrict, limit, or otherwise affect any rights or obligations You may
    have, or conditions to which You may be subject, under such license
    terms.
    While the license terms for a component may authorize You to
    distribute the component, You may not use any Novell marks (e.g., SUSE
    and SUSE LINUX) in distributing the component, whether or not the
    component contains Novell marks.
    OTHER LICENSE TERMS AND RESTRICTIONS
    The Software is protected by the copyright laws and treaties of the
    United States ("U.S.") and other countries and is subject to the
    terms of this Agreement. The Software is licensed to You, not sold.
    The Software may be bundled with other software programs ("Bundled
    Programs"). Your license rights with respect to Bundled Programs
    accompanied by separate license terms are defined by those terms;
    nothing in this Agreement shall restrict, limit, or otherwise affect
    any rights or obligations You may have, or conditions to which You may
    be subject, under such license terms.
    Novell reserves all rights not expressly granted to You. You may not:
    (1) reverse engineer, decompile, or disassemble the Software except
    and only to the extent it is expressly permitted by applicable law or
    the license terms accompanying a component of the Software; or (2)
    transfer the Software or Your license rights under this Agreement, in
    whole or in part.
    Since the Software is of pre-release quality, You should not use the
    Software in a commercial or production system. The Software has not
    been fully tested and may contain errors and omissions. The Software
    should be used only in a testing environment. Novell does not
    guarantee that a commercial version of the Software will become
    generally available to the public, that target dates will be met, or
    that associated products will be released. The entire risk arising
    out of Your use of the Software remains with You. The Software may
    contain an automatic disabling mechanism that prevents its use after a
    certain period of time, so You should back up Your system and take
    other measures to prevent any loss of files or data. Use of the
    Software is entirely at Your own risk.
    You understand and agree that Novell may use any feedback or
    information You provide and You hereby grant Novell a perpetual and
    irrevocable license to use all such feedback and information for any
    purpose without compensation to You, provided that Novell shall not
    publicly reference Your name in connection therewith. You represent
    and warrant that such feedback and information will not include any
    proprietary or confidential information of You or any third party and
    that You have full authority to grant the foregoing license.
    OWNERSHIP RIGHTS
    No title to or ownership of the Software is transferred to You. Novell
    and/or its licensors owns and retains all title and ownership of all
    intellectual property rights in the Software, including any
    adaptations or copies. You acquire only a license to use the Software.
    THE SOFTWARE AND OTHER CONFIDENTIAL INFORMATION IS PROVIDED TO YOU
    "AS IS" WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK AS TO THE
    RESULTS AND PERFORMANCE OF THE CONFIDENTIAL INFORMATION IS ASSUMED BY
    YOU. NOVELL DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED,
    INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
    NONINFRINGEMENT. NOVELL DOES NOT WARRANT THAT THE SOFTWARE WILL
    SATISFY YOUR REQUIREMENTS OR THAT THE OPERTATION OF THE SOFTWARE WILL
    BE UNINTERRUPTED. Some jurisdictions do not allow certain disclaimers
    and limitations of warranties, so portions of the above limitations
    may not apply to You. This limited warranty gives You specific rights
    and You may also have other rights which vary from state to state.
    Non-Novell Products. The Software may include or be bundled with
    hardware or other software programs licensed or sold by a licensor
    other than Novell. NOVELL DOES NOT WARRANT NON-NOVELL PRODUCTS. ANY
    SUCH PRODUCTS ARE PROVIDED ON AN "AS IS" BASIS. ANY WARRANTY SERVICE
    FOR NON-NOVELL PRODUCTS IS PROVIDED BY THE PRODUCT LICENSOR IN
    ACCORDANCE WITH THE APPLICABLE LICENSOR WARRANTY.
    LIMITATION OF LIABILITY
    (a) Consequential Losses. NEITHER NOVELL NOR ANY OF ITS LICENSORS,
    SUBSIDIARIES, OR EMPLOYEES WILL IN ANY CASE BE LIABLE FOR ANY SPECIAL,
    INCIDENTAL, CONSEQUENTIAL, INDIRECT, TORT, ECONOMIC OR PUNITIVE
    DAMAGES ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE,
    INCLUDING WITHOUT LIMITATION LOSS OF PROFITS, BUSINESS OR DATA, EVEN
    IF ADVISED OF THE POSSIBILITY OF THOSE DAMAGES.
    (b) Direct Damages. IN NO EVENT WILL NOVELL'S AGGREGATE LIABILITY FOR
    DIRECT DAMAGES TO PROPERTY OR PERSON (WHETHER IN ONE INSTANCE OR A
    SERIES OF INSTANCES) EXCEED 1.25 TIMES THE AMOUNT PAID BY YOU FOR THE
    SOFTWARE OUT OF WHICH SUCH CLAIM AROSE [OR $50 (U.S.) IF YOU RECEIVED
    THE SOFTWARE FREE OF CHARGE]. The above exclusions and limitations
    will not apply to claims relating to death or personal injury. In
    those jurisdictions that do not allow the exclusion or limitation of
    damages, Novell's liability shall be limited or excluded to the
    maximum extent allowed within those jurisdictions.
    GENERAL TERMS
    Term. This Beta Agreement becomes effective on the date You legally
    acquire the Software and will remain in force until terminated as
    follows. This Beta Agreement shall terminate upon the earlier of: (i)
    90 days from the date of installation of the Software, (ii) the next
    release of a pre-release version, if any, of the Software, (iii) first
    commercial shipment by Novell of the Software, (iv) written notice of
    termination by either party, or (v) the date on which You breach any
    of the terms of this Beta Agreement. Upon termination of this Beta
    Agreement, You must cease use of the Software, return to an original
    state any actions performed by the Software, destroy the original and
    all copies of the Software or return them to Novell, and delete the
    Software entirely from Your systems.
    Benchmark Testing. This benchmark testing restriction applies to You
    if You are a software vendor or if You are performing testing on the
    Software at the direction of or on behalf of a software vendor. You
    may not, without Novell's prior written consent not to be unreasonably
    withheld, publish or disclose to any third party the results of any
    benchmark test of the Software. If You are a vendor of products that
    are functionally similar to or compete with the Software ("Similar
    Products"), or are acting on behalf of such a vendor, and You publish
    or disclose benchmark information on the Software in violation of this
    restriction, then notwithstanding anything to the contrary in the
    Similar Product's end user license agreement, and in addition to any
    other remedies Novell may have, Novell shall have the right to perform
    benchmark testing on Similar Products and to disclose and publish that
    benchmark information and You hereby represent that You have authority
    to grant such right to Novell.
    Transfer. This Agreement may not be transferred or assigned without
    the prior written approval of Novell.
    Law and Jurisdiction. This Agreement is governed by the laws of the
    State of Utah, U.S. Any action at law relating to this Agreement may
    only be brought before the courts of competent jurisdiction of the
    State of Utah. If, however, Your country of principal residence is a
    member state of the European Union or the European Free Trade
    Association, this Agreement is governed by the laws of that country,
    and any action at law may only be brought before a court of competent
    jurisdiction of that country.
    Entire Agreement. This Agreement and the Upgrade/Additive Agreement
    (if applicable) sets forth the entire understanding and agreement
    between You and Novell and may be amended only in a writing signed by
    both parties. NO LICENSOR, DISTRIBUTOR, DEALER, RETAILER, RESELLER,
    SALES PERSON, OR EMPLOYEE IS AUTHORIZED TO MODIFY THIS AGREEMENT OR
    TO MAKE ANY REPRESENTATION OR PROMISE THAT IS DIFFERENT FROM, OR IN
    ADDITION TO, THE TERMS OF THIS AGREEMENT.
    Waiver. No waiver of any right under this Agreement will be effective
    unless in writing, signed by a duly authorized representative of the
    party to be bound. No waiver of any past or present right arising from
    any breach or failure to perform will be deemed to be a waiver of any
    future right arising under this Agreement.
    Severability. If any provision in this Agreement is invalid or
    unenforceable, that provision will be construed, limited, modified or,
    if necessary, severed, to the extent necessary, to eliminate its
    invalidity or unenforceability, and the other provisions of this
    Agreement will remain unaffected.
    Export Compliance. Any person or entity exporting or re-exporting
    Novell products directly or indirectly and via any means, including
    electronic transfer, is wholly responsible for doing so in accordance
    with the U.S. Export Administration Regulations and the laws of host
    countries. Novell assumes no responsibility or liability for your
    failure to obtain any necessary export approvals. Approvals are
    dependent upon an item's technical characteristics, the destination,
    end-use and end-user, as well as other activities of the end user.
    Specifically, no Novell product may be exported to embargoed or
    otherwise restricted countries or end users. Please consult the
    Bureau of Industry and Security web page and other sources before
    exporting Novell products from the U.S. and familiarize yourself with
    the laws of destination countries before re-exporting Novell products.
    This provision shall survive the expiration or earlier termination of
    this Agreement. Please refer to the export matrix for Novell products
    for more information on exporting Novell Software. You can download a
    copy from http://www.novell.com/info/exports/ or obtain a copy from
    your local Novell office.
    U.S. Government Restricted Rights. Use, duplication, or disclosure by
    the U.S. Government is subject to the restrictions in FAR 52.227-14
    (June 1987) Alternate III (June 1987), FAR 52.227-19 (June 1987), or
    DFARS 252.227-7013 (b)(3) (Nov 1995), or applicable successor
    clauses. Contractor/ Manufacturer is Novell, Inc., 1800 South Novell
    Place, Provo, Utah 84606.
    Other. The application of the United Nations Convention of Contracts
    for the International Sale of Goods is expressly excluded.
    ©1993, 2000-2006 Novell, Inc. All Rights Reserved.
    Novell, the "N" logo, and SUSE LINUX are registered trademarks of
    Novell, Inc. and openSUSE and the SUSE "geeko" logo are trademarks of
    Novell, Inc. in the United States and other countries. Linux is a
    registered trademark of Linus Torvalds. Third party trademarks are
    property of their respective owners.

    Well I'm not surprised that some people jump on anything Suse does, it annoys me no one wants to mention the good they do, do.
    They sponsor a lot of development for a lot of things, shame rather than sniping at other distros we can't just work together and agree to disagree. Whilst we may disagree with bits I bet we use a fair few bits that are/have been sponsored by Novell/Suse. SCO....
    I also think there development model is quite unique/minority to which this thesis does a good job of showing. http://janfredrik.wordpress.com/master-thesis/
    ...<snip>...
    Siobhan O'Mahony's research finds that these firms have to handle a tension between openness and control in their product development, but little research has been done to detail how this balance is achieved.
    ...<snip>...
    Last edited by FeatherMonkey (2008-06-05 12:25:59)

  • ORA-31011 : Weird case of parsing/validation failure...

    Hello all,
    It seems that when trying to insert into an XMLTYPE schema-bound column I am hitting a validation error that I cannot replicate with either XMLSpy os Stylus Studio.
    Here follow the schemas that are used, and the offending XML :
    envelope-consult.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:publicid:-:DGTAXUD:GENERAL:ENVELOPE:1.0" xmlns:xml="http://www.w3.org/XML/1998/namespace" targetNamespace="urn:publicid:-:DGTAXUD:GENERAL:ENVELOPE:1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="EORI-CONSULT-ENVELOPE-1.0">
         <xs:annotation>
              <xs:documentation>
                   This XML schema can be used by a national application to
                   validate consultation envelopes sent to the EORI
                   CDCO application. It can also be used to validate
                   consultation responses and acknowledgement envelopes
                   sent back by the EORI CDCO application. The number of
                   transactions in an envelope is 5.
                   For a request envelope, each transaction
                   contains a single app.message.
                   For a response envelope, each transaction contains
                   a single status element and a single app.message
                   element.
              </xs:documentation>
         </xs:annotation>
      <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
         <xs:element name="envelope">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="header" type="Header" minOccurs="0" maxOccurs="unbounded"/>
                        <xs:element name="transaction" type="Transaction" maxOccurs="5"/>
                   </xs:sequence>
                   <xs:attribute name="id" type="xs:string" use="required"/>
                   <xs:attribute ref="xml:lang" default="en-GB"/>
              </xs:complexType>
         </xs:element>
         <xs:complexType name="AppMessage">
              <xs:sequence>
                   <xs:element ref="abstract.message"/>
              </xs:sequence>
              <xs:attribute name="id" type="xs:string" use="required"/>
         </xs:complexType>
         <xs:complexType name="Binary">
              <xs:simpleContent>
                   <xs:extension base="xs:base64Binary">
                        <xs:attribute name="mime.type" type="xs:string" default="application/octet-stream"/>
                   </xs:extension>
              </xs:simpleContent>
         </xs:complexType>
         <xs:complexType name="BusinessRef">
              <xs:sequence>
                   <xs:element ref="abstract.ref"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="Header">
              <xs:attribute name="name" type="xs:string" use="required"/>
              <xs:attribute name="value" type="xs:string" use="required"/>
         </xs:complexType>
         <xs:complexType name="MMIMessageType">
              <xs:simpleContent>
                   <xs:extension base="xs:string">
                        <xs:attribute ref="xml:lang" default="en-GB"/>
                   </xs:extension>
              </xs:simpleContent>
         </xs:complexType>
         <xs:complexType name="Status">
              <xs:sequence>
                   <xs:element name="mmi.message" type="MMIMessageType" minOccurs="0"/>
                   <xs:element name="status.detail" type="StatusDetail" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attribute name="category" type="StatusCategory" use="required"/>
              <xs:attribute name="location" type="xs:string" use="required"/>
         </xs:complexType>
         <xs:simpleType name="StatusCategory">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="ok"/>
                   <xs:enumeration value="error"/>
                   <xs:enumeration value="rejected"/>
                   <xs:enumeration value="warning"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:complexType name="StatusDetail">
              <xs:sequence>
                   <xs:element name="business.ref" type="BusinessRef" minOccurs="0"/>
                   <xs:element name="binary" type="Binary" minOccurs="0"/>
                   <xs:element name="mmi.message" type="MMIMessageType" minOccurs="0"/>
              </xs:sequence>
              <xs:attribute name="category" type="StatusDetailCategory" use="required"/>
              <xs:attribute name="location" type="xs:string" use="required"/>
              <xs:attribute name="code" type="xs:NMTOKEN" use="required"/>
         </xs:complexType>
         <xs:simpleType name="StatusDetailCategory">
              <xs:restriction base="xs:string">
                   <xs:enumeration value="error"/>
                   <xs:enumeration value="info"/>
                   <xs:enumeration value="warning"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:complexType name="Transaction">
              <xs:sequence>
                   <xs:element name="header" type="Header" minOccurs="0" maxOccurs="unbounded"/>
                   <xs:element name="status" type="Status" minOccurs="0"/>
                   <xs:element name="app.message" type="AppMessage"/>
              </xs:sequence>
              <xs:attribute name="id" type="xs:string" use="required"/>
         </xs:complexType>
         <xs:element name="abstract.message" abstract="true"/>
         <xs:element name="abstract.ref" abstract="true"/>
    </xs:schema>EORI-consult.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:envelope="urn:publicid:-:DGTAXUD:GENERAL:ENVELOPE:1.0" xmlns="urn:publicid:-:DGTAXUD:EORI:CONSULT:1.0" targetNamespace="urn:publicid:-:DGTAXUD:EORI:CONSULT:1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
         <xs:annotation>
              <xs:documentation>
                   This XML schema contains the definitions of data
                   elements and messages specific to the EORI consult
                   functionality.
              </xs:documentation>
         </xs:annotation>
         <xs:import namespace="urn:publicid:-:DGTAXUD:GENERAL:ENVELOPE:1.0" schemaLocation="envelope-consult.xsd"/>
         <xs:include schemaLocation="EORI-data.xsd"/>
         <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
         <!-- Base types -->
      <xs:simpleType name="Date">
              <xs:annotation>
                   <xs:documentation>Date format</xs:documentation>
              </xs:annotation>
              <xs:restriction base="xs:string">
                   <xs:pattern value="\d{4}\d{2}\d{2}"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:complexType name="EoriRecord">
              <xs:sequence>
                   <xs:element name="eori.record.ref" type="EoriNumberRef"/>
                   <xs:element name="tc.number.list" type="TcNumberList"/>
                   <xs:element name="economic.operator.details" type="EconomicOperatorDetails"/>
                   <xs:element name="legal.status.list" type="LegalStatusPeriodList"/>
                   <xs:element name="establishment.address.list" type="EstablishmentAddressPeriodList"/>
                   <xs:element name="vat.list" type="VatList"/>
                   <xs:element name="contact.list" type="ContactPeriodList"/>
              </xs:sequence>
         </xs:complexType>     
         <xs:complexType name="EconomicOperatorDetails">
              <xs:sequence>
                   <xs:element name="full.name" type="EOFullName"/>
                   <xs:element name="short.name" type="EOShortName"/>
                   <xs:element name="establishment.date" type="Date" minOccurs="0"/>
                   <xs:element name="person.type.code" type="TypePerson" minOccurs="0"/>
                   <xs:element name="economic.activity.code" type="ActivityCode" minOccurs="0"/>
                   <xs:element name="start.date" type="Date"/>
                   <xs:element name="expiry.date" type="Date" minOccurs="0"/>
                   <xs:element name="publication.ind" type="xs:boolean" minOccurs="0"/>
              </xs:sequence>
         </xs:complexType>     
      <xs:complexType name="ValidityPeriod">
              <xs:sequence>
                   <xs:element name="start.date" type="Date"/>
                   <xs:element name="end.date" type="Date" minOccurs="0"/>
              </xs:sequence>
         </xs:complexType>     
         <xs:complexType name="ContactPeriod">
              <xs:sequence>
                   <xs:element name="contact" type="Contact"/>
                   <xs:element name="validity.period" type="ValidityPeriod"/>
              </xs:sequence>
         </xs:complexType>     
         <xs:complexType name="ContactPeriodList">
              <xs:sequence>
                   <xs:element name="contact" type="ContactPeriod" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>          
         </xs:complexType>
         <xs:complexType name="EstablishmentAddressPeriod">
              <xs:sequence>
                   <xs:element name="establishment.address" type="EstablishmentAddress"/>
                   <xs:element name="validity.period" type="ValidityPeriod"/>
              </xs:sequence>
         </xs:complexType>     
         <xs:complexType name="EstablishmentAddressPeriodList">
              <xs:sequence>
                   <xs:element name="establishment.address" type="EstablishmentAddressPeriod" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>     
         <xs:complexType name="LegalStatusPeriod">
              <xs:sequence>
                   <xs:element name="legal.status" type="LegalStatus"/>
                   <xs:element name="validity.period" type="ValidityPeriod"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="LegalStatusPeriodList">
              <xs:sequence>
                   <xs:element name="legal.status" type="LegalStatusPeriod" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>     
         <xs:complexType name="EoriRecordFull">
              <xs:complexContent>
                   <xs:extension base="EoriRecord">
                        <xs:sequence>
                             <xs:element name="aeo.certificate.lifecycle.list" type="AeoCertificateLifecycleList" minOccurs="0"/>
                        </xs:sequence>
                   </xs:extension>
              </xs:complexContent>
         </xs:complexType>
         <xs:complexType name="AeoCertificateLifecycleList">
              <xs:sequence>
                   <xs:element name="aeo.certificate.lifecycle" type="AeoCertificateLifecycle" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>     
         <xs:complexType name="AeoCertificateLifecycle">
              <xs:sequence>
                   <xs:element name="start.date" type="Date"/>
                   <xs:element name="end.date" type="Date" minOccurs="0"/>
                   <xs:element name="aeo.certificate.ref" type="AeoCertificateNumber" minOccurs="0"/>
              </xs:sequence>
         </xs:complexType>          
         <!-- Consultation messages -->
         <xs:element name="eori.record.snapshot.consultation.request" substitutionGroup="envelope:abstract.message">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="snapshot.request.list" type="EoriRecordSnapshotRequestList"/>
                   </xs:sequence>
                <xs:attribute ref="xml:lang" default="en-GB"/>                              
              </xs:complexType>
         </xs:element>
         <xs:element name="eori.record.full.consultation.request" substitutionGroup="envelope:abstract.message">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="full.request.list" type="EoriRecordFullRequestList"/>
                   </xs:sequence>
                   <xs:attribute ref="xml:lang" default="en-GB"/>               
              </xs:complexType>
         </xs:element>
         <xs:element name="eori.record.snapshot.consultation.response" substitutionGroup="envelope:abstract.message">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="snapshot.response.list" type="EoriRecordSnapshotResponseList"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <xs:element name="eori.record.full.consultation.response" substitutionGroup="envelope:abstract.message">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="full.response.list" type="EoriRecordFullResponseList"/>
                   </xs:sequence>
              </xs:complexType>
         </xs:element>
         <!-- Acknowledgement business references -->
         <xs:element name="full.request" type="EoriRecordFullRequest" substitutionGroup="envelope:abstract.ref"/>
         <xs:element name="snapshot.request" type="EoriRecordSnapshotRequest" substitutionGroup="envelope:abstract.ref"/>
         <!-- Snapshot: Consultation messages -->
         <xs:complexType name="SnapshotConsultationRequest">
              <xs:sequence>
                   <xs:element name="snapshot.request.list" type="EoriRecordSnapshotRequestList"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="SnapshotConsultationResponse">
              <xs:sequence>
                   <xs:element name="snapshot.response.list" type="EoriRecordSnapshotResponseList"/>
              </xs:sequence>
         </xs:complexType>
         <!-- Full: Consultation messages -->
         <xs:complexType name="FullConsultationRequest">
              <xs:sequence>
                   <xs:element name="full.request.list" type="EoriRecordFullRequestList"/>                              
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="FullConsultationResponse">
              <xs:sequence>
                   <xs:element name="full.response.list" type="EoriRecordFullResponseList"/>
              </xs:sequence>
         </xs:complexType>
         <!-- Snapshot: Message structures -->
         <xs:complexType name="EoriRecordSnapshot">
              <xs:sequence>
                   <xs:element name="eori.record.ref" type="EoriNumberRef"/>
                   <xs:element name="tc.number.list" type="TcNumberList" minOccurs="0"/>
                   <xs:element name="economic.operator.details" type="EconomicOperatorDetails"/>
                   <xs:element name="legal.status" type="LegalStatus" minOccurs="0"/>
                   <xs:element name="establishment.address" type="EstablishmentAddress"/>
                   <xs:element name="vat.list" type="VatList" minOccurs="0"/>
                   <xs:element name="contact" type="Contact" minOccurs="0"/>
                   <xs:element name="aeo.certificate.ref" type="AeoCertificateNumber" minOccurs="0"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EoriRecordSnapshotRequestList">
              <xs:sequence>
                   <xs:element name="snapshot.request" type="EoriRecordSnapshotRequest" maxOccurs="20"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EoriRecordSnapshotRequest">
              <xs:sequence>
                   <xs:element name="eori.record.ref" type="EoriNumberRef"/>
                   <xs:element name="applicable.date" type="Date"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EoriRecordFullRequestList">
              <xs:sequence>
                   <xs:element name="full.request" type="EoriRecordFullRequest" maxOccurs="20"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EoriRecordFullRequest">
              <xs:sequence>
                   <xs:element name="eori.record.ref" type="EoriNumberRef"/>
                   <xs:element name="consultation.purpose.code" type="ConsultationPurpose" minOccurs="0"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EoriRecordSnapshotResponseList">
              <xs:sequence>
                   <xs:element name="snapshot.response" type="EoriRecordSnapshotResponse" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EoriRecordSnapshotResponse">
              <xs:sequence>
                   <xs:element name="eori.record.snapshot" type="EoriRecordSnapshot"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EoriRecordFullResponseList">
              <xs:sequence>
                   <xs:element name="full.response" type="EoriRecordFullResponse" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EoriRecordFullResponse">
              <xs:sequence>
                   <xs:element name="eori.record.full" type="EoriRecordFull"/>
              </xs:sequence>
         </xs:complexType>
    </xs:schema>EORI-data.xsd
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
         <xs:annotation>
              <xs:documentation>
                   This XML schema contains the definitions of data
                   elements common to the messages exchanged in the
                   EORI download, upload and consultation
                   functionalities.
              </xs:documentation>
         </xs:annotation>
         <!-- List types -->
         <xs:complexType name="CountryList">
              <xs:sequence>
                   <xs:element name="country" type="Country" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="LegalStatusList">
              <xs:sequence>
                   <xs:element name="legal.status" type="LegalStatus" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="TcNumberList">
              <xs:sequence>
                   <xs:element name="tc.number" type="TcNumberRef" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="VatList">
              <xs:sequence>
                   <xs:element name="vat" type="Vat" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="CertificateInfoList">
              <xs:sequence>
                   <xs:element name="certificate.info" type="CertificateInfo" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>          
         </xs:complexType>     
         <xs:complexType name="ApplicationInfoList">
              <xs:sequence>
                   <xs:element name="application.info" type="ApplicationInfo" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>          
         </xs:complexType>     
         <!-- Complex types -->
         <xs:complexType name="CertificateInfo">
              <xs:sequence>
                   <xs:element name="aeo.certificate.ref" type="AeoCertificateNumber"/>
              </xs:sequence>          
         </xs:complexType>     
         <xs:complexType name="ApplicationInfo">
              <xs:sequence>
                   <xs:element name="aeo.application.ref" type="AeoApplicationNumber"/>
              </xs:sequence>          
         </xs:complexType>     
         <xs:complexType name="AeoCertificateNumber">
              <xs:sequence>
                   <xs:element name="country.code" type="CountryCode"/>
                   <xs:element name="aeo.certificate.type.code" type="AeoCertificateTypeCode"/>
                   <xs:element name="national.number" type="NationalAuthorisationNumber"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="AeoApplicationNumber">
        <xs:sequence>
          <xs:element name="country.code" type="CountryCode"/>
          <xs:element name="national.number" type="ApplicationNumber"/>
        </xs:sequence>
      </xs:complexType>
         <xs:complexType name="Contact">
              <xs:sequence>
                   <xs:element name="phone" type="PhoneNumber" minOccurs="0"/>
                   <xs:element name="fax" type="PhoneNumber" minOccurs="0"/>
                   <xs:element name="email" type="Email" minOccurs="0"/>
                   <xs:element name="name.address" type="NameAddress"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="Country">
              <xs:choice>
                   <xs:element name="country.code" type="CountryCode"/>
                   <xs:element name="country.name" type="CountryName"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="EoriNumberRef">
              <xs:sequence>
                   <xs:element name="country.code" type="CountryCode"/>
                   <xs:element name="national.number" type="EoNationalNumber"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="TcNumberRef">
              <xs:sequence>
                   <xs:element name="country" type="Country"/>
                   <xs:element name="national.number" type="TcNationalNumber"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="EstablishmentAddress">
              <xs:sequence>
                   <xs:element name="language.code" type="LanguageCode"/>
                   <xs:element name="name" type="Name" minOccurs="0"/>
                   <xs:element name="street" type="Street"/>
                   <xs:element name="postcode" type="Postcode" minOccurs="0"/>
                   <xs:element name="city" type="City"/>
                   <xs:element name="country" type="Country"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="LegalStatus">
              <xs:sequence>
                   <xs:element name="language.code" type="LanguageCode"/>
                   <xs:element name="legal.status.description" type="LegalStatusDescription"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="NameAddress">
              <xs:sequence>
                   <xs:element name="language.code" type="LanguageCode"/>
                   <xs:element name="full.name" type="FullName"/>
                   <xs:element name="short.name" type="Name" minOccurs="0"/>
                   <xs:element name="street" type="Street"/>
                   <xs:element name="postcode" type="Postcode" minOccurs="0"/>
                   <xs:element name="city" type="City"/>
                   <xs:element name="country" type="Country"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="Vat">
              <xs:sequence>
                   <xs:element name="country.code" type="CountryCode"/>
                   <xs:element name="number" type="VATNationalNumber"/>
              </xs:sequence>
         </xs:complexType>
         <!-- Simple types -->
         <xs:simpleType name="Accepted">
              <xs:restriction base="xs:int">
                   <xs:pattern value="0|1"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="ActivityCode">
              <xs:restriction base="SingleLineString">
          <xs:length value="4"/>
          <xs:pattern value="[0-9]+"/>   
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="NationalAuthorisationNumber">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="29"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="AeoCertificateTypeCode">
              <xs:restriction base="SingleLineString">
                   <xs:length value="4"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="ApplicationNumber">
             <xs:restriction base="SingleLineString">
               <xs:minLength value="1"/>
               <xs:maxLength value="29"/>
             </xs:restriction>
           </xs:simpleType>
         <xs:simpleType name="City">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="35"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="ConsultationPurpose">
              <xs:restriction base="xs:string">
                   <xs:length value="1"/>
                   <xs:enumeration value="C"/>
                   <xs:enumeration value="Q"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="CountryCode">
              <xs:annotation>
                   <xs:documentation>
                        Country code format
                   </xs:documentation>
              </xs:annotation>
              <xs:restriction base="xs:string">
                   <xs:pattern value="[A-Z][A-Z]"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="CountryName">
              <xs:annotation>
                   <xs:documentation>Country name</xs:documentation>
              </xs:annotation>
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="30"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="Email">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="70"/>
                   <xs:pattern value="\p{IsBasicLatin}+"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="EoNationalNumber">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="15"/>
                   <xs:pattern value="\p{IsBasicLatin}+"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="TcNationalNumber">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="15"/>
                   <xs:pattern value="\p{IsBasicLatin}+"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="LanguageCode">
              <xs:annotation>
                   <xs:documentation>
                        Language code format
                   </xs:documentation>
              </xs:annotation>
              <xs:restriction base="xs:string">
                   <xs:pattern value="[a-z][a-z]"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="LegalStatusDescription">
              <xs:annotation>
                   <xs:documentation>
                        Legal status value
                   </xs:documentation>
              </xs:annotation>
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="50"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="EOFullName">
              <xs:restriction base="xs:string">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="300"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="EOShortName">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="35"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="PhoneNumber">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="2"/>
                   <xs:maxLength value="35"/>
                   <xs:pattern value="\+\p{IsBasicLatin}+"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="Postcode">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="9"/>
                   <xs:pattern value="\p{IsBasicLatin}+"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="SingleLineString">
              <xs:annotation>
                   <xs:documentation>
                        Single line string: Avoid presence of \n (new
                        line) and \r (return) characters in the string.
                        Note that pattern ".*" is equivalent.
                   </xs:documentation>
              </xs:annotation>
              <xs:restriction base="xs:string">
                   <xs:pattern value="[^\n\r]*"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="FullName">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="100"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="Name">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="35"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="Street">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="35"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="TypePerson">
              <xs:annotation>
                   <xs:documentation>
                        Type of person values as follows: 1-Natural
                        person, 2-Legal person and 3-Association of
                        persons. Values can be updated and retrieved by the CS/RD.
                   </xs:documentation>
              </xs:annotation>
              <xs:restriction base="xs:unsignedInt">
                   <xs:totalDigits value="1"/>
              </xs:restriction>
         </xs:simpleType>
         <xs:simpleType name="VATNationalNumber">
              <xs:restriction base="SingleLineString">
                   <xs:minLength value="1"/>
                   <xs:maxLength value="15"/>
                   <xs:pattern value="\p{IsBasicLatin}+"/>
              </xs:restriction>
         </xs:simpleType>
    </xs:schema>xml.xsd
    <?xml version='1.0'?>
    <xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
    <xs:attribute name="lang" type="xs:language"/>
    <xs:attribute name="space" default="preserve">
      <xs:simpleType>
       <xs:restriction base="xs:NCName">
        <xs:enumeration value="default"/>
        <xs:enumeration value="preserve"/>
       </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="base" type="xs:anyURI"/>
    <xs:attributeGroup name="specialAttrs">
      <xs:attribute ref="xml:base"/>
      <xs:attribute ref="xml:lang"/>
      <xs:attribute ref="xml:space"/>
    </xs:attributeGroup>
    </xs:schema>(second part follows...)

    (continuing from above post ...)
    TestXML.xml
    <?xml version="1.0" encoding="utf-8"?>
    <env:envelope id="5555" xmlns="urn:publicid:-:DGTAXUD:EORI:CONSULT:1.0" xmlns:env="urn:publicid:-:DGTAXUD:GENERAL:ENVELOPE:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <env:header name="Version" value="1.0"/>
      <env:header name="From" value="EOS-CDCO"/>
      <env:header name="Originator" value="BE-EORI"/>
      <env:header name="InReplyTo" value="5554"/>
      <env:transaction id="1">
        <env:header name="InReplyTo" value="1"/>
        <env:status category="ok" location="/envelope[@id=&apos;5554&apos;]/transaction[@id=&apos;1&apos;]">
          <env:status.detail category="info" code="100" location="/envelope[@id=&apos;5554&apos;]/transaction[@id=&apos;1&apos;]/app.message[@id=&apos;1&apos;]">
            <env:business.ref>
              <full.request>
                <eori.record.ref>
                  <country.code>BE</country.code>
                  <national.number>123</national.number>
                </eori.record.ref>
                <consultation.purpose.code>C</consultation.purpose.code>
              </full.request>
            </env:business.ref>
            <env:mmi.message>Ok</env:mmi.message>
          </env:status.detail>
        </env:status>
        <env:app.message id="1">
          <eori.record.full.consultation.response>
            <full.response.list>
              <full.response>
                <eori.record.full>
                  <eori.record.ref>
                    <country.code>FR</country.code>
                    <national.number>123</national.number>
                  </eori.record.ref>
                  <tc.number.list>
                    <tc.number>
                      <country>
                        <country.code>AA</country.code>
                      </country>
                      <national.number>465466</national.number>
                    </tc.number>
                  </tc.number.list>
                  <economic.operator.details>
                    <full.name>a</full.name>
                    <short.name>a</short.name>
                    <establishment.date>19670813</establishment.date>
                    <person.type.code>1</person.type.code>
                    <economic.activity.code>1234</economic.activity.code>
                    <start.date>19670813</start.date>
                    <expiry.date>19670813</expiry.date>
                    <publication.ind>0</publication.ind>
                  </economic.operator.details>
                  <legal.status.list>
                    <legal.status>
                      <legal.status>
                        <language.code>aa</language.code>
                        <legal.status.description>status</legal.status.description>
                      </legal.status>
                      <validity.period>
                        <start.date>19670813</start.date>
                        <end.date>19670813</end.date>
                      </validity.period>
                    </legal.status>
                  </legal.status.list>
                  <establishment.address.list>
                    <establishment.address>
                      <establishment.address>
                        <language.code>aa</language.code>
                        <name>a</name>
                        <street>s</street>
                        <postcode>p</postcode>
                        <city>c</city>
                        <country>
                          <country.code>AA</country.code>
                        </country>
                      </establishment.address>
                      <validity.period>
                        <start.date>19670813</start.date>
                        <end.date>19670813</end.date>
                      </validity.period>
                    </establishment.address>
                  </establishment.address.list>
                  <vat.list>
                    <vat>
                      <country.code>AA</country.code>
                      <number>74455</number>
                    </vat>
                  </vat.list>
                  <contact.list>
                    <contact>
                      <contact>
                        <phone>+ 123</phone>
                        <fax>+ 123</fax>
                        <name.address>
                          <language.code>aa</language.code>
                          <full.name>a</full.name>
                          <short.name>a</short.name>
                          <street>s</street>
                          <postcode>p</postcode>
                          <city>c</city>
                          <country>
                            <country.code>AA</country.code>
                          </country>
                        </name.address>
                      </contact>
                      <validity.period>
                        <start.date>19670813</start.date>
                        <end.date>19670813</end.date>
                      </validity.period>
                    </contact>
                  </contact.list>
                  <aeo.certificate.lifecycle.list>
                    <aeo.certificate.lifecycle>
                      <start.date>19670813</start.date>
                      <end.date>19670813</end.date>
                    </aeo.certificate.lifecycle>
                  </aeo.certificate.lifecycle.list>
                </eori.record.full>
              </full.response>
            </full.response.list>
          </eori.record.full.consultation.response>
        </env:app.message>
      </env:transaction>
    </env:envelope>Here is the script that created the table and registered the schemas
    BEGIN     
       DBMS_XMLSCHEMA.REGISTERSCHEMA(
         SCHEMAURL => 'envelope-consult.xsd',
         SCHEMADOC => XDBURITYPE('/public/xsdfiles/EORI/envelope-consult.xsd').getBlob(),
         LOCAL     => TRUE,
         GENTYPES  => FALSE,
         GENBEAN   => FALSE,
         GENTABLES => FALSE,
         FORCE     => FALSE,
         CSID      => NLS_CHARSET_ID('AL32UTF8'),
         OPTIONS   => DBMS_XMLSCHEMA.REGISTER_BINARYXML);
    END;
    BEGIN     
       DBMS_XMLSCHEMA.REGISTERSCHEMA(
         SCHEMAURL => 'EORI-consult.xsd',
         SCHEMADOC => XDBURITYPE('/public/xsdfiles/EORI/EORI-consult.xsd').getBlob(),
         LOCAL     => TRUE,
         GENTYPES  => FALSE,
         GENBEAN   => FALSE,
         GENTABLES => FALSE,
         FORCE     => FALSE,
         CSID      => NLS_CHARSET_ID('AL32UTF8'),
         OPTIONS   => DBMS_XMLSCHEMA.REGISTER_BINARYXML);
    END;
    CREATE TABLE TEST_XML_TABLE
      ENV_CONSULT  SYS.XMLTYPE,
      MSG_TSTAMP   TIMESTAMP(6) WITH TIME ZONE      DEFAULT SYSTIMESTAMP          NOT NULL
    XMLTYPE COLUMN ENV_CONSULT STORE AS SECUREFILE BINARY XML
    (       TABLESPACE PARTYMS10_DATA
      INDEX(TABLESPACE PARTYMS10_INDEX)
    XMLSCHEMA "envelope-consult.xsd" ELEMENT "envelope"
       DISALLOW NONSCHEMA
    TABLESPACE PARTYMS10_DATA
    LOGGING
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    MONITORING
    /And here is the offending statement, together with the reported error
    INSERT
      INTO TEST_XML_TABLE
    VALUES (XDBURITYPE('/public/xmlfiles/EORI/TestXML.xml').getXML(), SYSTIMESTAMP)
    COMMIT
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LSX-00213: only 0 occurrences of particle "abstract.ref", minimum is 1
    Details:
    INSERT
      INTO TEST_XML_TABLE
    VALUES (XDBURITYPE('/public/xmlfiles/EORI/TestXML.xml').getXML(), SYSTIMESTAMP)
    Error at line 1
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LSX-00213: only 0 occurrences of particle "abstract.ref", minimum is 1I am using 11.1.0.7.0, as seen on
    select * from v$version;
    BANNER                                                                         
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production         
    PL/SQL Release 11.1.0.7.0 - Production                                         
    CORE   11.1.0.7.0   Production                                                     
    TNS for 32-bit Windows: Version 11.1.0.7.0 - Production                        
    NLSRTL Version 11.1.0.7.0 - Production                                         
    5 rows selected.Any ideas ? I cannot understand it at all... It seems to relate to the substitutionGroup entries in general, but I can't for the life of me see why :(
    Best Regards
    Philip

  • Busines Partner Tyes

    Sorry to ask you this stupid question ?
    can any one tell / guide me about Business Partner types and how can we use this in CRM ?
      thanks in advance.
    Rakesh

    A business partner can be a person, a group of people, or an organization, representing a business interest.
    Person
    The categorization of a business partner as a person (for example, a private person), a group or an organization (legal person or part of a legal person, for example, department) is known as the business partner category.
    Group
    A group is the depiction of a shared living arrangement, a married couple, or an executive board.
    When a group is created, the corresponding partner group type must be entered.
    Organization
    The organization represents units such as a company, a division of a company, a club, or an association.
    In addition to a legal person, parts of a legal person can be mapped as a business partner. Organization acts as an umbrella term to depict all conceivable occurrences in daily business activities. In this way, a subsidiary or a purchasing department represents only parts of a legal person.
    The business partner category must be defined when creating a new business partner.
    A business partner can come into contact with an enterprise in various situations. Depending on which business processes the business partner is involved in; completely different information about the business partner may be needed. For example, for the goods delivery transaction, information about the shipping and delivery conditions is required; for the sales order transaction, delivery dates and payment conditions are relevant.
    You can create more than one business partner role for one business partner; general information, such as name, address, and bank details, must be entered only once.
    All applications or industry business solutions using the SAP Business Partner function provide special business partner roles.
    Each partner role contains various data sets:
    ·     General data
    ·     CRM-specific data
    ·     Relationships

  • ABAP HR MATERIAL REQUIRED

    HI FRIENDS,
    CAN ANYONE SEND ME THE ABAP-HR MATERIAL .
    THAXS AND REGARDS.
    HITESH

    Maybe this link can be helpfull
    http://www.sapdevelopment.co.uk/hr/hr_infotypes2.htm
    Have a look at http://www.sap-img.com/human/how-to-create-a-hr-infotype.htm, but have also a look at this thread
    https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/thread.jspa%3FthreadID%3D9945%26messageID%3D63016
    found this link probably can be helpful to someone
    http://help.sap.com/saphelp_46b/helpdata/en/f7/2fe034ee251f34e10000009b38f83b/frameset.htm
    http://sap.ittoolbox.com/groups/technical-functional/sap-hr/how-to-create-z-infotype-in-organizational-management-745603
    How to create a HR infotype?
    1) Go to Transaction PM01. 
    2) Enter the custom Infotype number which you want to create (Should be a 4 digit number, start with 9). 
    3) Select the ‘Employee Infotype’ radio button. 
    4) Select the ‘PS Structure Infotype’. 
    5) Click on Create… A separate table maintenance window appears… 
    6) Create a PS structure with all the fields you want on the Infotype 
    7) Save and Activate the PS structure 
    8) Go back to the initial screen of PM01. 
    9) Click on ‘All’ push button. It takes a few moments. 
    10) Click on ‘Technical Characteristics’. Infotype list screen appears 
    11) Click on ‘Change’(pencil) button 
    12) Select your Infotype and click on ‘Detail’ (magnifying glass) button 
    13) Give ‘T591A’ as subtype table 
    14) Give ‘T591S’ as subtype txt tab 
    15) Give your subtype field as subtype field 
    16) Save and come back to PM01 initial screen 
    17) Click on ‘Infotype Characteristics’ … Infotype list screen appears 
    18) Click on ‘Change’ (pencil) button 
    19) Click on ‘New Entries’ 
    20) Enter your Infotype number and short text 
    21) Here we have to set different Infotype Characteristics as per the requirement. (Better open another session with some standard Infotype’s infotype characteristics screen and use as the reference to fill yours) 
    22) Save your entries. 
    23) Now the Infotype is created and ready to use. 
    24) If you want to change the layout of the Infotype as per your requirement… 
    25) In the PM01 initial screen…Select ‘Screen’ radio button and give 2000 as the screen name, then click on edit. 
    26) In the next screen.. Select ‘Layout Editor’ and click ‘Change’. 
    27) Screen default layout appears…here you can design/modify the screen..change the attributes of the fields..etc. 
    28) Save and activate. (Don’t forget to ‘Activate at every level) 
    InfoSets in the HR Application 
    You can use SAP Query in HR to report on HR data. Queries are maintained as described in Creating Queries. The special features of queries created for HR are described in Maintaining Queries in the Human Resources Application. The maintenance procedure for HR InfoSets differs from the described procedure inasmuch as HR data fields are grouped together in infotypes.
    InfoSet management in SAP Query is also used for InfoSet Query. For further information, see Functions for Managing InfoSets.
    If you want to create InfoSets for HR, you can use logical databases PNP, PAP, and PCH (see HR Logical Databases). The database you must use to create your InfoSet depends on the component in which the data you want to report on is stored.
    The reports you can execute using InfoSets based on logical databases PNP or PCH are similar, but differ in that they can select different objects. The following table describes the connection between the logical database, and the infotypes you can include in an InfoSet. It also provides you with one or two examples of reports that you can execute using the appropriate InfoSets.
    Logical database     PNP     PCH     PAP
    Selection of     Persons     Objects from Personnel Planning     Applicants
    Infotypes that can be included in the InfoSet     Infotypes for
    •     Personnel Administration (0000-0999)
    •     Time Management (2000-2999)
    •     Payroll infotypes
    •     Infotypes for Personnel Planning objects that can be related to persons     If the object type is specified:
    •     Infotypes for the object type
    •     Infotypes for objects that can be related to the specified object type
    If the object type is not specified:
    •     All infotypes     •     Infotypes for Recruitment (4000-4999)
    •     Some infotypes for Personnel Administration (such as 0001 and 0002)
         •     Customer infotypes
    Reporting examples     •     Selection of all persons who participated in a specific business event, output of prices for reserved business events
    •     Selection of all persons assigned to a specific personnel area, output of qualifications held by these persons     •     Selection of all business events held in London in March, output of all persons who participated in these business events
    •     Selection of all positions assigned to a specific organizational unit, output of all persons assigned to the positions     •     Selection of all applicants hired last year to work on special projects, output of addresses for the applicants selected
    Creating InfoSets
    The maintenance procedure for HR InfoSets differs from the procedure described so far in this section inasmuch as HR data fields are grouped together in infotypes. To set up an InfoSet for the HR application, proceed as follows:
    1.     On the initial screen for maintaining InfoSets, enter a name for the InfoSet and choose  Create.
    2.     On the next screen, enter a name for the InfoSet and select one of the HR logical databases in accordance with your reporting requirements.
    Customer infotypes can be created on all HR logical databases. In each individual case, therefore, you must decide which database to select so that you can report on customer infotypes.
    This screen enables you to enter an authorization group. All of the queries that are subsequently created using this InfoSet can only be executed by persons who have this authorization group.
    3.     Choose  .
    This takes you to the Infotype Selection for InfoSet .
    The logical HR database uses the table APPLICANT. You must declare it in the TABLES statement.
    At the GET APPLICANT event, the APPLICANT structure contains the data for an applicant number chosen on the basis of selection screen entries.
    The APPLICANT-APLNO field contains the applicant number which is selected for processing.
    Only the APPLICANT-APLNO field should be read from the work area of the APPLICANT table. The other fields are intended for internal use only.
    2.7     Authorization Checks in Reporting (PA-APP)
    Generally, authorization checks in reporting do not differ from those in the transactions. Since data access in reporting is always of the read type, the system checks for a read authorization; the authorization group must be R or *.
    In some situations, you may want to use a simplified authorization check when running reports. The object RPABAP is required for the check as well as the object RPORGIN; if these authorizations are available, a simpler and faster check is performed.
    If the report cannot read certain applicant data due to lack of authorization, data for these persons is not processed at the GET APPLICANT time point. A note appears at the end of the list stating the number of applicants who were skipped due to lack of authorization.
    2.8     Views
    Introduction
    When evaluating data, we distinguish between the logical and the physical view.
    The physical view corresponds to the form in which the infotype data is stored in the HR tables. This data is stored in infotype records with a validity period.
    In the logical view, the validity periods of individual fields are determined for several infotype records. For example, for an evaluation, the time period during which an employee worked at a particular job may be important, irrespective of whether a company code, personnel area or cost center change occurred during this time.
    Data from several infotypes can also be provided for a specific partial period. When calculating partial payroll periods, it is especially important that data on basic pay, work schedule and cost distribution are provided for the relevant partial period.
    These two types of logical views are implemented in the projection and join.
    &#61607;     Join
    &#61607;     Projection
    &#61607;     Join and Projection
    &#61607;     Time-Dependent Control Tables
    &#61607;     Generalization of the View
    Join
    A join processes records from two or more infotypes. The data from these infotypes is provided for a specific partial period.
    &#61607;     We would like to know in which time period an employee worked at which job and at which address he or she resided during this time.
    The following address data is available:
    January – June     Hamburg
    June – December     Munich
    The following work center data is available:
    January – April     Programmer
    May – December     Course instructor
    If the address and work center data are provided for specific partial periods, the following cases result:
    January – April     Hamburg / programmer
    May – June     Hamburg / course instructor
    July – December     Munich / Course instructor
    The ABAP syntax of this join is as follows:
    PROVIDE * FROM Pomp
    FROM Pnnnn
            BETWEEN PN-BEGDA AND PN-ENDDA.
    The partial periods for infotypes Pomp and Pnnnn as well as for all other infotypes of the join are defined in the fields BEGDA and ENDDA.
    The data of each infotype in the join must be available during the entire validity period of the infotype. The time periods of infotype records may not overlap; therefore, the join may not contain infotypes with time constraint "three".
    The time periods of records overlap if an infotype is read without any subtype restrictions. For example, the Address infotype has the subtypes Permanent residence, Temporary residence and Home address.
    Time periods will ultimately overlap if all addresses are read. Therefore, you must always select a subtype for a join, and this subtype may not have the time constraint "three".
    The program code for the above join for work center and address data is as follows:
    REPORT RPABAP03.
    TABLES: PERNR.
    INFOTYPES: 0001, 0006.
    GET PERNR.
      PROVIDE * FROM P0001
    FROM P0006 BETWEEN PN-BEGDA AND PN-ENDDA
              WHERE P0006-SUBTY eq '1'.
        WRITE: / PERNR-PERNR, P0001-STELL,
                 P0006-STRAS, P0006-BEGDA, P0006-ENDDA.
      ENDPROVIDE.
    Sometimes no data is available for a particular infotype in the selected partial period. Infotype validity periods may not overlap but gaps are permitted.
    For example, gaps can occur when personal data is joined with address data:
    Personal data
    January 1960 - May 1998     Miller
    May 1998 - December 1998     Smith
    Address data:
    January 1998 - December 1998     Hamburg
    A join for personal and address data is presented as follows:
    January 1960 - December 1997     Miller
    January 1998 - April 1998     Miller / Hamburg
    May 1998 - December 1998     Smith / Hamburg
    Only personal data is available in the first partial period. Since the record does not provide the required information, the join's function of providing data from all associated infotypes has not been fulfilled.
    The variables Pnnnn_VALID recognize that only incomplete data is available for a particular partial period.
    This variable is formed when the report is run for each Pnnnn infotype included in a join.
    If data exists in the partial period for the Pnnnn infotype, the variable Pnnnn_VALID is filled with X.
    These variables are evaluated as follows:
    REPORT RPDEMO03.
    TABLES: PERNR.
    INFOTYPES:  0002,
                0006.
    GET PERNR.
      PROVIDE * FROM P0002
    FROM P0006 BETWEEN PN-BEGDA AND PN-ENDDA
              WHERE P0006-SUBTY = '1'.
        IF P0006_VALID EQ 'X'.
          WRITE:  /  PERNR-PERNR,
                     P0002-BEGDA DD/MM/YYYY,
                     P0002-ENDDA DD/MM/YYYY,
                     P0002-NACHN,
                     P0006-ORT01.
        ENDIF.
      ENDPROVIDE.
    A list is generated only if address data is available. The first partial period, for which only personal data is available, is suppressed.
    Projection
    All data of an infotype is stored on the database with its period of validity.
    When you change one or more fields of an infotype record, the system creates a new record with a new validity period. The date on which you changed the record is the start date of this new record.
    Therefore, the data fields that are not affected by the changes contain the same data over several infotype records and validity periods.
    From a logical perspective, these fields are valid in all infotype records until they are changed. 
    When seen from this logical perspective, each field of an infotype has its own validity period.
    This is illustrated in the following case:
    An employee has worked as a programmer for three years in three different personnel areas.
    The following organizational assignment data is available:
    January 1992 - December 1992: Programmer /personnel area 1
    January 1993 - December 1993: Programmer /personnel area 2
    January 1994 - December 1994: Programmer /personnel area 3
    If you only require the time period during which an employee performs a specific job and not his or her personnel area for an evaluation, the following applies:
    January 1996 - December 1998: Programmer
    The physical view has three infotype records, the logical view one.
    To create meaningful evaluations and avoid redundancies, create logical views for infotype records.
    Select the infotype fields that are important for the evaluation and disregard the others.
    In the above example, the data in the other fields is invalid for the evaluation since it is unknown which personnel area the employee belonged to from 1996 - 1998.
    This view of the validity period of a group of infotype fields is known as projection.
    The program code for the projection is:
    PROVIDE  FROM Pnnnn
      BETWEEN PN-BEGDA AND PN-ENDDA .
    The infotype data for a projection must be available throughout the entire validity period. If the time periods of certain infotype records overlap, the data cannot be clearly assigned to one period.
    Therefore, you should not use projections for infotype records with time constraint ‘three’. The report for the above projection is:
    REPORT RPABAP04.
    TABLES: PERNR.
    INFOTYPES: 0001.
    GET PERNR.
       PROVIDE STELL FROM P0001 BETWEEN PN-BEGDA AND PN-ENDDA.
         WRITE: / PERNR-PERNR, P0001-STELL, P0001-BEGDA,
                 P0001-ENDDA.
       ENDPROVIDE .
    The logical validity for the activity period is included in the infotype BEGDA and ENDDA fields.
    Join and Projection
    You can combine the two logical views of infotype data, the join and the projection.
    We read the data from several infotypes and create new partial periods. We select the infotype fields that are important for the evaluation and combine these partial periods again.
    The following example illustrates this.
    An employee works as a programmer in the current year and marries in May. Her name does not change.
    Organizational assignment:
    January - December     Programmer
    Personal data:
    January - April     Donna Debug - single
    May - December     Donna Debug - married
    When the data from both infotypes is read concurrently, the result is:
    January - April     Donna Debug - single /
    programmer
    May - December     Donna Debug - married /
    programmer
    Since we can disregard her marital status in the evaluation, we project on her first and last names:
    January - December     Donna Debug / programmer
    The following report exemplifies the above case:
    REPORT RPDEMO04.
    TABLES: PERNR.
    INFOTYPES:  0001,
                0002.
    GET PERNR.
      PROVIDE STELL FROM P0001
        NACHN VORNA FROM P0002
        BETWEEN PN-BEGDA AND PN-ENDDA
        IF P0001_VALID = 'X'.
          WRITE:  / P0002-NACHN, P0002-VORNA,
                    P0001-BEGDA DD/MM/YYYY,
                    P0001-ENDDA DD/MM/YYYY,
                    P0001-STELL.
        ENDIF.
      ENDPROVIDE.
    This report combines the associated validity periods and provides the data of relevant infotype fields for a specific period.
    &#61607;     Fields which are not accessed have their initial value in the projection.
    Provision of data for a specific partial period is especially important for partial period factoring in payroll.
    If an employee's basic pay or the cost distribution changes during the payroll period, you must calculate the salary proportionately for the resulting partial periods.
    However, if the payroll administrator of the organizational unit changes, this has no effect on payroll.
    By linking a join and a projection, you can read the master data for a specific partial period.
    Time-Dependent Control Tables
    Infotype data is generally coded as a key (for example, infotype P0006, address type 1 = permanent residence) to allow fast data entry and space-saving storage. When you process infotypes, the texts or attributes of the keys are read from the relevant control tables.
    In many control tables, storage of data is time-dependent and therefore assigned a validity period.
    In HR, this applies to the following areas:
    •     Work schedules
    •     Pay scale structures
    •     Wage types
    •     Wage type valuation
    •     Bank data
    •     Positions
    •     Payee codes
    When you read the data for an infotype key from time-dependent control tables, you must determine which record is valid in the specified validity period.
    If you use a transaction to process an infotype, the system reads the table record which is valid on the start date.
    Generalization of the View
    You can use the logical view to edit and output data according to user specifications.
    The special feature of HR views is the time dependency of the data. Personnel data is almost always related to specific validity periods. A HR view provides data for specific time intervals.
    In general terms, a HR view is a logical perspective of interval-dependent internal tables.
    See also:
    Processing All Infotype Records (PA-PAD)
    Processing All Infotype Records (PA-APP)
    Processing a Specific Infotype Record (PA-PAD)
    Processing a Specific Infotype Record (PA-APP)
    3     Import/Export Files in HR
    The following sections describe the purpose of files PCL1 and PCL2 and explains how to access them.
    Files PCL1, PCL2, PCL3 and PCL4
    Storing Data in PCLn Files
    PCLn Buffer
    Cluster Directory Manager
    3.1     Files PCL1, PCL2, PCL3 and PCL4
    Which information is stored in the files?
    File PCL1 is the basis for the HR work area data. It contains information from the time data recording, for example, incentive wage time tickets or infotype supplement texts.
    File PCL2 contains derived information, for example, payroll results. It also contains all generated payroll schemas.
    File PCL3 contains applicant data.
    File PCL4 contains the change documents for HR master data and recruitment.
    The structure of PCLn files corresponds to that of the INDX file which you may be familiar with from other applications. The structure of all PCLn files (n = 1, 2, 3, and 4) is identical.
    Structure of Files
    Like in almost all SAP files, the key element with the highest priority is the client; data within a client is grouped according to basic relations (field PCLn-RELID).
    The type of basic relation is known as a cluster and characterizes the stored data according to the type, for example, cluster RX contains the payroll result for country X (from table T500L) and cluster TE contains the trip costs data.
    Depending on the cluster, the structure of PCLn-SRTFD is defined in a field string xx-KEY, which is defined in an include RPCnxxy0.
    Naming conventions
    n = 1, 2, 3, or 4 (for PCL1, PCL2, PCL3, or PCL4)
    xx = for the cluster
    y = 0 for international clusters
    y = country grouping according to T500L for national clusters
    The personnel number is usually the first component of xx-KEY.
    Importing and Exporting Data
    The import/export files PCLn are managed with the ABAP/4® commands IMPORT and EXPORT . These commands store objects such as fields, field strings, or internal tables on the database, or read these from the database. Data is read from and written to the database using a unique key( xx-Key).
    Please note that the RMAC macros RP-IMP-Cn-xx and RP-EXP-Cn-xx are provided for importing and exporting data. Only these macros should be used.
    See also Macro Modules
    3.2     Storing Data in PCLn Files
    Data from the different HR application areas is stored in data clusters in PCLn files (n = 1, 2, 3, or 4).
    This collection of data objects can consist of:
    •     Fields used within reports
    •     Field strings
    •     Internal tables
    The structure of the PCLn files provides a framework for the individual application areas.
    Each application area must have a two-character cluster name (relation ID). It must also have a key structure; 40 bytes of the SRTFD field are available for this structure.
    When a record is exported to the PCLn file, the cluster ID is written to the RELID field and the key value to the SRTFD field.
    Naming convention for includes when defining clusters:
    RPCnxxy0 n = 1, 2, 3 or 4 (for PCL1, PCL2, PCL3, PCL4)
    xx = cluster ID
    y = country indicator
    Description of Cluster Data using Cluster RX as an Example
    The data definition is stored in the include RPC2RX00 in accordance with the above naming conventions.
    Structure of cluster key:
      Data:  BEGIN OF RX-KEY.
               INCLUDE STRUCTURE PC200.
             DATA: END OF RX-KEY.
    The DDIC structure PC200 contains the fields PERNR (personnel number) and SEQNO (sequential number).
    The data definition of the cluster also contains other internal tables.
    For a list of available data clusters, refer to the domain description in the Data Dictionary.
    xx Key
    The xx key name is dependent on the cluster.
    The RX KEY is used for all Rx and Xx clusters. In all other cases, the name of the xx key corresponds to that of the cluster.
    Cluster     xx Key
    RA     RX-KEY
    B1     B1-KEY
    G3     G3-KEY
    XA     RX-KEY
    3.3     PCLn Buffer
    To keep the number of database accesses to a minimum, import and export data is stored in the main memory buffer. Buffer management routines ensure that exported data can be stored in the PCLn files.
    The following two examples illustrate which problems can occur without a buffer.
    Retroactive accounting of payroll results
    Starting payroll in the test mode
    Retroactive Accounting of Payroll Results
    In February 1998, a retroactive accounting run is executed for January.
    FOR PERIOD 199801 IN PERIOD 199802
    The payroll results for January are recalculated and then written directly to the database.
    Result:
    The database now contains the results of the following payroll periods.
    FOR-PERIOD 199801 IN-PERIOD 199802
    FOR-PERIOD 199801 IN-PERIOD 199801
    Payroll is then run for February.
    FOR-PERIOD 199802 IN-PERIOD 199802
    If problems should arise during the payroll run for this period, the February record is not stored on the database.
    Result:
    The current January record on the database is:
    FOR-PERIOD 199801 IN-PERIOD 199802
    This problem does not arise if you use the buffer since all data of a transaction is always updated collectively. In the above example, the recalculated January result would be stored in the buffer and, if the payroll run for February were terminated prematurely, the database would not be updated.
    The current January record on the database would thus be:
    FOR-PERIOD 199801 IN-PERIOD 199802
    Starting Payroll in the Test Mode
    In a test run, the database is not updated. Since the payroll results from the previous period are used as the basis for calculating the results of the following period, the results of the actual payroll run would differ from those of the test run, if this test run were executed over several periods.
    The use of the buffer enables trouble-free access to the required results for the previous period.
    What is required for exporting/importing data to/from the PCLn files using the buffer?
    &#61607;     The following includes contain the data definition for the buffer. They must be included in the report that writes the data to or reads the data from the database.
    RPPPXD00
    RPPPXD10
    &#61607;     Include RPPPXD10 must be in the common part ‘BUFFER’ .
    Include RPPPXM00, which contains the buffer management routines, is also required.
    The macros for importing and exporting data must comply with the following naming convention:
    Naming Convention for EXPORT/ IMPORT Macros:
    RP-aaa-Cn-xy
    where aaa = IMP / EXP, n=1 for PCL1, 2 for PCL2, 3 for PCL3, 4 or PCL4
    and xy = cluster name.
    This guarantees consistency between the export and import of data and also ensures that all exported objects are imported again.
    Export Using the Data Buffer
    When macros are used for exporting, records are written to a main memory buffer and not directly to the database. When the program run has been completed, the records in the buffer are stored in the appropriate PCLn database.
    Import Using the Data Buffer
    When the macros are used to import data, the data records are not read directly from file PCLn. Instead, the system checks the buffer directory to see whether the main memory already contains a record with the same key. If this is not the case, the record is read from PCLn to the buffer and then retrieved from the buffer for the report.
    If the import is successful, the return code RP-IMP-xy-SUBRC = 0 is set. When data is read from the buffer, the system carries out a check for cluster authorization. Standard import programs follow the naming convention RPCLSTxy (xy = cluster name).
    &#61607;     report rpttcdmg.
    tables:
         pernr,
         pcl1,
         pcl2.
    include rpppxd00.    "buffer definitions
         data: begin of common part 'BUFFER'.
         include rpppxd10. "PCLx buffer
         data: end of common part.
         data: begin of common part 'CLUSTER_DIRECTORY'.
         include rpc2cd00. " "cluster directory definitions
         data: end of common part.
    include rpc2rdd0.
    get pernr.
       rp-init-buffer. "reset buffer
       cd-key-pernr = pernr-pernr.
       rp-imp-c2-cd. "read cluster CD from
      buffer/DB
       perform cd_manager using ... .
    alternative: call function rp_evaluation_periods...
       rx-key-pernr = pernr-pernr.
       rx-key-seqno = rgdir-seqnr.
       rp-imp-c2-rd. "read cluster RD from
      buffer/DB
       rp-exp-c2-rd. "update cluster RD in buffer
       perform prepare_update using 'V'. "update database (DB)
    Subroutines CD manager and Cluster buffer
    include rpcmgr00. "Cluster Directory Manager
    include rpppxm00. "module pcl1(2)-buffer
    3.4     Cluster Directory
    Finding Payroll Results for a Specific Query
    Payroll results are stored in cluster Rx of the PCL2.
    The cluster key is non-mnemonic. It contains the PERNR (personnel number) and SEQNO (sequential number) fields.
    The internal table RGDIR contains a directory entry for each payroll result. This entry is a sequential number (RGDIR-SEQNR) which uniquely identifies the payroll result.
    Payroll results can only be imported if the payroll cluster key contains the personnel number and sequential number.
    Before you can import a payroll record, you must select the entry in the RGDIR on the basis of existing data such as for-period, for-payroll area, for-payroll category, in-period, in-payroll area, in-payroll category, and so on, in order to determine the sequential number.
    You will probably always have the same queries when importing payroll records. For example, "Which payroll results (original and retroactively accounted records) were written for a specific payroll run (defined by IN payroll category, IN payroll area, IN period)"?
    There are standard modules that can be used. It is advantageous to use the standard modules rather than self-programmed solutions because no program modifications will be required if the payroll directory changes. The modules are described in the following section:
    Function Modules for Selecting Payroll Results
    3.5     Function Modules for Selecting Payroll Results
    The employee’s payroll directory is always transferred to the function modules using the table RGDIR.
    The modules then transfer the payroll records which satisfy the specified selection criteria using a table whose type corresponds to that of the RGDIR but which has a different name. The selection parameters differ according to the function of the module. For more information, read the module documentation.
    All module names begin with ‘CD_’.
    Function Module: CD_EVALUATION_PERIODS
    Function Module: CD_READ_PREVIOUS
    Function Module: CD_READ_PREVIOUS_ORIGINAL
    Other Modules for the Payroll Cluster
    Sample Report
    Function Module: CD_EVALUATION_PERIODS
    This module transfers the payroll results to a payroll run as ‘A’ records (current). It also transfers the accompanying ‘P’ records (previous).
    This is the module most frequently used in evaluation programs.
    Table contents before the function module is accessed:
    SEQNR     FPPER     FPBEG     FPEND     INPER     IPBEG     IPEND     BONDT     PAYTY     PAYID     INPTY     INPID
    00001     01.1996     01.01.96     01.15.96     01.1996     01.01.96     01.15.96                             
    00002     01.1996     01.01.96     01.15.96           01.16.96     01.16.96                       B     0
    00003           01.16.96     01.16.96           01.16.96     01.16.96     01.16.96     B     0     B     0
    00004           01.17.96     01.17.96           01.17.96     01.17.96     01.17.96     A     0     A     0
    00005           01.17.96     01.17.96           01.17.96     01.17.96     01.17.96     A     1     A     1
    00006     02.1996     01.16.96     01.31.96     02.1996     01.16.96     01.31.96                             
    00007     02.1996     01.16.96     01.31.96     03.1996     02.01.96     01.15.96                             
    00008     03.1996     01.16.96     01.31.96     03.1996     01.01.96     02.15.96                             
    The following parameters are transferred:
    - BONUS_DATE = '00000000'
    - INPER_MODIF = '02'
    - INPER = '199803'
    - PAYTY = ' '
    - PAYID = ' '
    Result:
    SEQNR     FPPER     FPBEG     FPEND     INPER     IPBEG     IPEND     BONDT     PAYTY     INPTY     INPID     SRTZA
    00006     02.1996     01.16.96     01.31.96     02.1996     01.16.96     01.31.96                             P
    00007     02.1996     01.16.96     01.31.96     03.1996     02.01.96     02.15.96                             A
    00008     03.1996     01.16.96     01.31.96     03.1996     02.01.96     02.15.96                             A
    Explanation of individual fields
    Function Module: CD_READ_PREVIOUS
    This module transfers a previous payroll record for a payroll record; this is the newest record for the payroll period (or daily payroll run) which was written before the transferred payroll record and contains the same FOR data as the transferring record.
    Table contents before the function module is accessed:
    SEQNR     FPPER     FPBEG     FPEND     INPER     IPBEG     IPEND     BONDT     PAYTY     PAYID
    00001     01.1996     01.01.96     01.15.96     01.1996     01.01.96     01.15.96                 
    00002     01.1996     01.01.96     01.15.96           01.16.96     01.16.96                 
    00003           01.16.96     01.16.96           01.16.96     01.16.96     01.16.96     B     0
    00004           01.17.96     01.17.96           01.17.96     01.17.96     01.17.96     A     0
    00005           01.17.96     01.17.96           01.17.96     01.17.96     01.17.96     A     1
    00006     02.1996     01.16.96     01.31.96     02.1996     01.16.96     01.31.96                 
    00007     02.1996     01.16.96     01.31.96     03.1996     02.01.96     02.15.96                 
    00008     03.1996     01.16.96     01.31.96     03.1996     02.01.96     02.15.96                 
    The following parameters are transferred:
    - Record with SEQNR '00007'
    Result:
    SEQNR     FPPER     FPBEG     FPEND     INPER     IPBEG     IPEND     BONDT     PAYTY     SRTZA
    00006     02.1996     01.16.96     01.31.96     02.1996     01.16.96     01.31.96                 P
    Explanation of individual fields
    Function Module: CD_READ_PREVIOUS_ORIGINAL
    This module reads the previous original payroll result.
    Table contents before the function module is accessed:
    SEQNR     FPPER     FPBEG     FPEND     INPER     IPBEG     IIPEND     BONDT     PAYTY     PAYID
    00001     01.1996     01.01.96     01.15.96     01.1996     01.01.96     01.15.96                 
    00002     01.1996     01.01.96     01.15.96           01.16.96     01.16.96                 
    00003           01.16.96     01.16.96           01.16.96     01.16.96     01.16.96     B     0
    00004           01.17.96     01.17.96           01.17.96     01.17.96     01.17.96     A     0
    00005           01.17.96     01.17.96           01.17.96     01.17.96     01.17.96     A     1
    00006     02.1996     01.16.96     01.31.96     02.1996     01.16.96     01.31.96                 
    00007     02.1996     01.16.96     01.31.96     03.1996     02.01.96     02.15.96                 
    00008     03.1996     01.16.96     01.31.96     03.1996     02.01.96     02.15.96                 
    The following parameters are transferred:
    - Record with SEQNR '00008'
    Result:
    SEQNR     FPPER     FPBEG     FPEND     INPER     IPBEG     IPEND     BONDT     PAYTY     SRTZA
    00006     02.1996     01.16.96     01.31.96     02.1996     01.16.96     01.3196                 P
    Explanation of individual fields
    3.6     Other Modules for the Payroll Cluster
    Modules which derive information from the payroll cluster are available in addition to the modules for payroll result selection.
    1.     CD_RETROCALC_PERIOD
    This module differentiates between original payroll records and retroactive accounting records.
    Table contents before the function module is accessed:
    SEQNR     FPPER     FPBEG     FPEND     INPER     IPBEG     IPEND     BONDT     PAYTY     PAYID
    00001     01.1996     01.01.96     01.15.96     01.1996     01.01.96     01.15.96                 
    00002     01.1996     01.01.96     01.15.96           01.16.96     01.16.96                 
    00003           01.16.96     01.16.96           01.16.96     01.16.96     01.16.96     B     0
    00004           01.17.96     01.17.96           01.17.96     01.17.96     01.17.96     A     0
    00005           01.17.96     01.17.96           01.17.96     01.17.96     01.17.96     A     1
    00006     02.1996     01.16.96     01.31.96     02.1996     01.16.96     01.31.96                 
    00007     02.1996     01.16.96     01.31.96     03.1996     02.01.96     02.15.96                 
    00008     03.1996     01.16.96     01.31.96     03.1996     02.01.96     02.15.96                 
    The following parameters are transferred:
    - Record with SEQNR '00008'
    Result:
    - CALCD = ' '
    Explanation of individual fields 
    2.     CD_PAYROLL_UNTIL
    This module reads the RGDIR for the date up to which the regular payroll run was executed for an employee.
    3.     CD_HIGHEST_PAYDT
    This module reads the most recent check date for an employee from the RGDIR.
    4.     CD_GET_INFO
    This module provides information (most recent check date, accounted to date) for a particular personnel number.
    3.7     Explanation of Individual Fields
    For-Information
    The FPPER, FPBEG, FPEND, BONDT, PAYTY, PAYID, ABKRS, PERMO, PAYDT, JUPER fields contain information on the period for which payroll is run.
    In-Information
    The INPER, IPEND, INPTY, INPID, IABKRS, IPERM fields contain information on the period in which payroll is run.
    SEQNR
    The field is used as a key to uniquely identify the payroll record.
    This field also defines the sequence of payroll results (history).
    Control Indicator (SRTZA)
    Control indicator     Meaning
    a     Current
    p     Previous
    o     Old
    &#61607;     For more information, see the online documentation for the individual function modules.
    3.8     Sample Report
    REPORT RPTTMWBS.
    DATA: RGDIR LIKE PC261 OCCURS 0 WITH HEADER LINE.
    DATA: EVPDIR LIKE RGDIR OCCURS 0 WITH HEADER LINE.
    DATA: PREVIOUS_RESULTS LIKE RGDIR OCCURS 0 WITH HEADER LINE.
    DATA: CALCD TYPE C.
    DATA: IN_ENTRY LIKE PC261.
    DATA: OUT_ENTRY LIKE PC261.
    INCLUDE RPCCCD09.
        CALL FUNCTION 'CU_READ_RGDIR'
          EXPORTING
             PERSNR = '00021218'
             TABLES IN_RGDIR = RGDIR
          EXCEPTIONS
             NO_RECORD_FOUND = 1
             OTHERS = 2.
    Read RGDIR
      CALL FUNCTION 'CD_EVALUATION_PERIODS'
         EXPORTING
             BONUS_DATE = '00000000'
             INPER_MODIF = '02'
             INPER = '199603'
             PAY_TYPE = CD_C-REGULAR
             PAY_IDENT = ' '
         TABLES
             RGDIR = RGDIR
             EVPDIR = EVPDIR
           IABKRS =
         EXCEPTIONS
             NO_RECORD_FOUND = 1
             OTHERS = 2.
    output:
    00006
    00007
    00008
    Read regular payroll results for January
    A results (original result plus retroactive calculations)
    and P results
      LOOP AT EVPDIR WHERE SRTZA = CD_C-ACTUAL.
    Only current results (00007 and 00008)
      CALL FUNCTION 'CD_RETROCALC_PERIOD'
         EXPORTING
            ENTRY = EVPDIR
         IMPORTING
            CALCD = CALCD
         EXCEPTIONS
            OTHERS = 1.
    Determine, whether original result
            CHECK CALCD = ' '.
    Special processing: Only the original period
    March is processed (seqnr 00008).
            IN_ENTRY = EVPDIR.
    CALL FUNCTION 'CD_READ_PREVIOUS_ORIGINAL'
         EXPORTING
            IN_RECORD = IN_ENTRY
         IMPORTING
            OUT_RECORD = OUT_ENTRY
         TABLES
            RGDIR = RGDIR
         EXCEPTIONS
            OTHERS = 1.
    out_entry now contains the previous results
    Input 00008 ----> Output 00006
      ENDLOOP.
      LOOP AT EVPDIR WHERE SRTZA = CD_C-ACTUAL.
         IN_ENTRY = EVPDIR.
      CALL FUNCTION 'CD_READ_PREVIOUS'
         EXPORTING
            IN_RECORD = IN_ENTRY
         TABLES
            RGDIR = RGDIR
            OUT_RGDIR = PREVIOUS_RESULTS
         EXCEPTIONS
            NO_RECORD_FOUND = 1
            OTHERS = 2.
    Input 00007 ---> 00006
    Input 00008 ---> no record found
    Output structure is a table, since there can be
    several previous results: for example, if legal person
    changes, and is retroactively deleted
    ENDLOOP
    4     Specific Commands
    The following sections describe the different specific commands in HR.
    Function modules in HR
    Macro modules
    4.1     Function Modules in HR
    Function modules are program modules which have a defined interface and allow type testing of parameters.
    They are managed with transaction SE37 and combined to function groups according to relevant criteria. You can access this transaction under Tools &#61614; ABAP Workbench &#61614; Function Builder.
    The HR function groups use the naming convention RPxx or HRxx where xx is an identifier of your choice.
    You can use the SHOW FUNCTION * editor command to branch from report processing to function module display.
    4.2     Macro Modules
    Definition
    An module that can be called within an ABAP program.
    Use
    Like subprograms and function modules, macro modules are a means of presenting programs in modular form. Macro modules (macros) are used often in the Human Resources application component (HR).
    Defining and Calling Modules
    Two options are provided:
    •     Macros can be defined in reports or includes using the ABAP command DEFINE. A macro can be used within a report or within an include. If a macro is used in a report, and the macro is defined in an include with the DEFINE command, the include must be integrated.
    &#61607;     Macros have the following advantages:
    If a macro is changed, each report using this macro is automatically regenerated when it is executed.
    •     Macros can also be defined as RMAC macros. The source code of these modules is stored in the function section of the control table TRMAC (Macros in ABAP Programs). The coding is grouped under a specific name in the table key.
    According to conventions, the first two letters of the name must stand for the application. The rest of the name is freely definable.
    &#61607;     Customer-specific RMAC modules should begin with a special character.
    The macros defined in the control table TRMAC can be used by all reports.
    &#61607;     When you change a RMAC macro in the table TRMAC, the reports that use this macro are not regenerated automatically. You must regenerate them manually.
    The following section includes a list of  programming utilities for the logical databases PNP and PAP.
    5     Utilities in HR
    The following utilities are available.
    General Utilities
    Report     Meaning
    RPUACG00     Code generation / authorization check
    RPUAUD00     Infotype auditing
    Programming Utilities
    Report     Meaning
    RPINCL10     String search in reports
    Cluster Utilities
    Report     Meaning
    RPCLSTyy     Display cluster for PCLx (yy = RELID)
    RPUPxD00     Delete cluster for PCLx (individual data records)
    RPUPxD10     Delete cluster for PCLx (several data records)
    6     References:
    Different parts of the document has been prepared with the help of articles available on Internet
    Following websites are referred :
    a). http://help.sap.com
    b). http://sapfans.com
    c). http://www.sap-basis-abap.com/saphr.htm

  • Regarding recipient type

    What is the Use of recipient type ? is it mandatary field in vendor master ? is it assign in vendor master? if iam not assign recipient type what is effect?What areas is the effect from the recipient type?

    hello
    Recipient Type
    A system object that you use to classify payment recipients as legal persons or natural persons, for the purposes of withholding tax reporting.
    Use
    Customizing
    Define the recipient types in Customizing for Financial Accounting (FI), by choosing Financial Accounting Global Settings ® Withholding Tax ® Extended Withholding Tax ® Basic Settings ® Check Recipient Types.
    For each withholding tax type, create two entries as follows:
    Recipient Type
    CO
    Companies
    OT
    Others
    Country Version India comes with sample settings for the sample withholding tax types provided.
    Master Data
    Enter the recipient type in each vendor master and each customer master.
    Reporting
    The TDS returns separate the information about taxes withheld on legal persons and on natural persons.
    regards

  • Help on ABAP HR

    Hi,
    i learned ABAP HR can any body help me materials regardign this
    any body having specifications regardsing ABAP HR it will be more helpfull to this id <b><REMOVED BY MODERATOR></b>
    Message was edited by:
            Alvaro Tejada Galindo

    Maybe this link can be helpfull
    http://www.sapdevelopment.co.uk/hr/hr_infotypes2.htm
    Have a look at http://www.sap-img.com/human/how-to-create-a-hr-infotype.htm, but have also a look at this thread
    https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/thread.jspa%3FthreadID%3D9945%26messageID%3D63016
    found this link probably can be helpful to someone
    http://help.sap.com/saphelp_46b/helpdata/en/f7/2fe034ee251f34e10000009b38f83b/frameset.htm
    http://sap.ittoolbox.com/groups/technical-functional/sap-hr/how-to-create-z-infotype-in-organizational-management-745603
    How to create a HR infotype?
    1) Go to Transaction PM01.
    2) Enter the custom Infotype number which you want to create (Should be a 4 digit number, start with 9).
    3) Select the ‘Employee Infotype’ radio button.
    4) Select the ‘PS Structure Infotype’.
    5) Click on Create… A separate table maintenance window appears…
    6) Create a PS structure with all the fields you want on the Infotype
    7) Save and Activate the PS structure
    8) Go back to the initial screen of PM01.
    9) Click on ‘All’ push button. It takes a few moments.
    10) Click on ‘Technical Characteristics’. Infotype list screen appears
    11) Click on ‘Change’(pencil) button
    12) Select your Infotype and click on ‘Detail’ (magnifying glass) button
    13) Give ‘T591A’ as subtype table
    14) Give ‘T591S’ as subtype txt tab
    15) Give your subtype field as subtype field
    16) Save and come back to PM01 initial screen
    17) Click on ‘Infotype Characteristics’ … Infotype list screen appears
    18) Click on ‘Change’ (pencil) button
    19) Click on ‘New Entries’
    20) Enter your Infotype number and short text
    21) Here we have to set different Infotype Characteristics as per the requirement. (Better open another session with some standard Infotype’s infotype characteristics screen and use as the reference to fill yours)
    22) Save your entries.
    23) Now the Infotype is created and ready to use.
    24) If you want to change the layout of the Infotype as per your requirement…
    25) In the PM01 initial screen…Select ‘Screen’ radio button and give 2000 as the screen name, then click on edit.
    26) In the next screen.. Select ‘Layout Editor’ and click ‘Change’.
    27) Screen default layout appears…here you can design/modify the screen..change the attributes of the fields..etc.
    28) Save and activate. (Don’t forget to ‘Activate at every level)
    InfoSets in the HR Application
    You can use SAP Query in HR to report on HR data. Queries are maintained as described in Creating Queries. The special features of queries created for HR are described in Maintaining Queries in the Human Resources Application. The maintenance procedure for HR InfoSets differs from the described procedure inasmuch as HR data fields are grouped together in infotypes.
    InfoSet management in SAP Query is also used for InfoSet Query. For further information, see Functions for Managing InfoSets.
    If you want to create InfoSets for HR, you can use logical databases PNP, PAP, and PCH (see HR Logical Databases). The database you must use to create your InfoSet depends on the component in which the data you want to report on is stored.
    The reports you can execute using InfoSets based on logical databases PNP or PCH are similar, but differ in that they can select different objects. The following table describes the connection between the logical database, and the infotypes you can include in an InfoSet. It also provides you with one or two examples of reports that you can execute using the appropriate InfoSets.
    Logical database PNP PCH PAP
    Selection of Persons Objects from Personnel Planning Applicants
    Infotypes that can be included in the InfoSet Infotypes for
    • Personnel Administration (0000-0999)
    • Time Management (2000-2999)
    • Payroll infotypes
    • Infotypes for Personnel Planning objects that can be related to persons If the object type is specified:
    • Infotypes for the object type
    • Infotypes for objects that can be related to the specified object type
    If the object type is not specified:
    • All infotypes • Infotypes for Recruitment (4000-4999)
    • Some infotypes for Personnel Administration (such as 0001 and 0002)
    • Customer infotypes
    Reporting examples • Selection of all persons who participated in a specific business event, output of prices for reserved business events
    • Selection of all persons assigned to a specific personnel area, output of qualifications held by these persons • Selection of all business events held in London in March, output of all persons who participated in these business events
    • Selection of all positions assigned to a specific organizational unit, output of all persons assigned to the positions • Selection of all applicants hired last year to work on special projects, output of addresses for the applicants selected
    Creating InfoSets
    The maintenance procedure for HR InfoSets differs from the procedure described so far in this section inasmuch as HR data fields are grouped together in infotypes. To set up an InfoSet for the HR application, proceed as follows:
    1. On the initial screen for maintaining InfoSets, enter a name for the InfoSet and choose Create.
    2. On the next screen, enter a name for the InfoSet and select one of the HR logical databases in accordance with your reporting requirements.
    Customer infotypes can be created on all HR logical databases. In each individual case, therefore, you must decide which database to select so that you can report on customer infotypes.
    This screen enables you to enter an authorization group. All of the queries that are subsequently created using this InfoSet can only be executed by persons who have this authorization group.
    3. Choose .
    This takes you to the Infotype Selection for InfoSet .
    The logical HR database uses the table APPLICANT. You must declare it in the TABLES statement.
    At the GET APPLICANT event, the APPLICANT structure contains the data for an applicant number chosen on the basis of selection screen entries.
    The APPLICANT-APLNO field contains the applicant number which is selected for processing.
    Only the APPLICANT-APLNO field should be read from the work area of the APPLICANT table. The other fields are intended for internal use only.
    2.7 Authorization Checks in Reporting (PA-APP)
    Generally, authorization checks in reporting do not differ from those in the transactions. Since data access in reporting is always of the read type, the system checks for a read authorization; the authorization group must be R or *.
    In some situations, you may want to use a simplified authorization check when running reports. The object RPABAP is required for the check as well as the object RPORGIN; if these authorizations are available, a simpler and faster check is performed.
    If the report cannot read certain applicant data due to lack of authorization, data for these persons is not processed at the GET APPLICANT time point. A note appears at the end of the list stating the number of applicants who were skipped due to lack of authorization.
    2.8 Views
    Introduction
    When evaluating data, we distinguish between the logical and the physical view.
    The physical view corresponds to the form in which the infotype data is stored in the HR tables. This data is stored in infotype records with a validity period.
    In the logical view, the validity periods of individual fields are determined for several infotype records. For example, for an evaluation, the time period during which an employee worked at a particular job may be important, irrespective of whether a company code, personnel area or cost center change occurred during this time.
    Data from several infotypes can also be provided for a specific partial period. When calculating partial payroll periods, it is especially important that data on basic pay, work schedule and cost distribution are provided for the relevant partial period.
    These two types of logical views are implemented in the projection and join.
    &#61607; Join
    &#61607; Projection
    &#61607; Join and Projection
    &#61607; Time-Dependent Control Tables
    &#61607; Generalization of the View
    Join
    A join processes records from two or more infotypes. The data from these infotypes is provided for a specific partial period.
    &#61607; We would like to know in which time period an employee worked at which job and at which address he or she resided during this time.
    The following address data is available:
    January – June Hamburg
    June – December Munich
    The following work center data is available:
    January – April Programmer
    May – December Course instructor
    If the address and work center data are provided for specific partial periods, the following cases result:
    January – April Hamburg / programmer
    May – June Hamburg / course instructor
    July – December Munich / Course instructor
    The ABAP syntax of this join is as follows:
    PROVIDE * FROM Pomp
    FROM Pnnnn
    BETWEEN PN-BEGDA AND PN-ENDDA.
    The partial periods for infotypes Pomp and Pnnnn as well as for all other infotypes of the join are defined in the fields BEGDA and ENDDA.
    The data of each infotype in the join must be available during the entire validity period of the infotype. The time periods of infotype records may not overlap; therefore, the join may not contain infotypes with time constraint "three".
    The time periods of records overlap if an infotype is read without any subtype restrictions. For example, the Address infotype has the subtypes Permanent residence, Temporary residence and Home address.
    Time periods will ultimately overlap if all addresses are read. Therefore, you must always select a subtype for a join, and this subtype may not have the time constraint "three".
    The program code for the above join for work center and address data is as follows:
    REPORT RPABAP03.
    TABLES: PERNR.
    INFOTYPES: 0001, 0006.
    GET PERNR.
    PROVIDE * FROM P0001
    FROM P0006 BETWEEN PN-BEGDA AND PN-ENDDA
    WHERE P0006-SUBTY eq '1'.
    WRITE: / PERNR-PERNR, P0001-STELL,
    P0006-STRAS, P0006-BEGDA, P0006-ENDDA.
    ENDPROVIDE.
    Sometimes no data is available for a particular infotype in the selected partial period. Infotype validity periods may not overlap but gaps are permitted.
    For example, gaps can occur when personal data is joined with address data:
    Personal data
    January 1960 - May 1998 Miller
    May 1998 - December 1998 Smith
    Address data:
    January 1998 - December 1998 Hamburg
    A join for personal and address data is presented as follows:
    January 1960 - December 1997 Miller
    January 1998 - April 1998 Miller / Hamburg
    May 1998 - December 1998 Smith / Hamburg
    Only personal data is available in the first partial period. Since the record does not provide the required information, the join's function of providing data from all associated infotypes has not been fulfilled.
    The variables Pnnnn_VALID recognize that only incomplete data is available for a particular partial period.
    This variable is formed when the report is run for each Pnnnn infotype included in a join.
    If data exists in the partial period for the Pnnnn infotype, the variable Pnnnn_VALID is filled with X.
    These variables are evaluated as follows:
    REPORT RPDEMO03.
    TABLES: PERNR.
    INFOTYPES: 0002,
    0006.
    GET PERNR.
    PROVIDE * FROM P0002
    FROM P0006 BETWEEN PN-BEGDA AND PN-ENDDA
    WHERE P0006-SUBTY = '1'.
    IF P0006_VALID EQ 'X'.
    WRITE: / PERNR-PERNR,
    P0002-BEGDA DD/MM/YYYY,
    P0002-ENDDA DD/MM/YYYY,
    P0002-NACHN,
    P0006-ORT01.
    ENDIF.
    ENDPROVIDE.
    A list is generated only if address data is available. The first partial period, for which only personal data is available, is suppressed.
    Projection
    All data of an infotype is stored on the database with its period of validity.
    When you change one or more fields of an infotype record, the system creates a new record with a new validity period. The date on which you changed the record is the start date of this new record.
    Therefore, the data fields that are not affected by the changes contain the same data over several infotype records and validity periods.
    From a logical perspective, these fields are valid in all infotype records until they are changed.
    When seen from this logical perspective, each field of an infotype has its own validity period.
    This is illustrated in the following case:
    An employee has worked as a programmer for three years in three different personnel areas.
    The following organizational assignment data is available:
    January 1992 - December 1992: Programmer /personnel area 1
    January 1993 - December 1993: Programmer /personnel area 2
    January 1994 - December 1994: Programmer /personnel area 3
    If you only require the time period during which an employee performs a specific job and not his or her personnel area for an evaluation, the following applies:
    January 1996 - December 1998: Programmer
    The physical view has three infotype records, the logical view one.
    To create meaningful evaluations and avoid redundancies, create logical views for infotype records.
    Select the infotype fields that are important for the evaluation and disregard the others.
    In the above example, the data in the other fields is invalid for the evaluation since it is unknown which personnel area the employee belonged to from 1996 - 1998.
    This view of the validity period of a group of infotype fields is known as projection.
    The program code for the projection is:
    PROVIDE  FROM Pnnnn
    BETWEEN PN-BEGDA AND PN-ENDDA .
    The infotype data for a projection must be available throughout the entire validity period. If the time periods of certain infotype records overlap, the data cannot be clearly assigned to one period.
    Therefore, you should not use projections for infotype records with time constraint ‘three’. The report for the above projection is:
    REPORT RPABAP04.
    TABLES: PERNR.
    INFOTYPES: 0001.
    GET PERNR.
    PROVIDE STELL FROM P0001 BETWEEN PN-BEGDA AND PN-ENDDA.
    WRITE: / PERNR-PERNR, P0001-STELL, P0001-BEGDA,
    P0001-ENDDA.
    ENDPROVIDE .
    The logical validity for the activity period is included in the infotype BEGDA and ENDDA fields.
    Join and Projection
    You can combine the two logical views of infotype data, the join and the projection.
    We read the data from several infotypes and create new partial periods. We select the infotype fields that are important for the evaluation and combine these partial periods again.
    The following example illustrates this.
    An employee works as a programmer in the current year and marries in May. Her name does not change.
    Organizational assignment:
    January - December Programmer
    Personal data:
    January - April Donna Debug - single
    May - December Donna Debug - married
    When the data from both infotypes is read concurrently, the result is:
    January - April Donna Debug - single /
    programmer
    May - December Donna Debug - married /
    programmer
    Since we can disregard her marital status in the evaluation, we project on her first and last names:
    January - December Donna Debug / programmer
    The following report exemplifies the above case:
    REPORT RPDEMO04.
    TABLES: PERNR.
    INFOTYPES: 0001,
    0002.
    GET PERNR.
    PROVIDE STELL FROM P0001
    NACHN VORNA FROM P0002
    BETWEEN PN-BEGDA AND PN-ENDDA
    IF P0001_VALID = 'X'.
    WRITE: / P0002-NACHN, P0002-VORNA,
    P0001-BEGDA DD/MM/YYYY,
    P0001-ENDDA DD/MM/YYYY,
    P0001-STELL.
    ENDIF.
    ENDPROVIDE.
    This report combines the associated validity periods and provides the data of relevant infotype fields for a specific period.
    &#61607; Fields which are not accessed have their initial value in the projection.
    Provision of data for a specific partial period is especially important for partial period factoring in payroll.
    If an employee's basic pay or the cost distribution changes during the payroll period, you must calculate the salary proportionately for the resulting partial periods.
    However, if the payroll administrator of the organizational unit changes, this has no effect on payroll.
    By linking a join and a projection, you can read the master data for a specific partial period.
    Time-Dependent Control Tables
    Infotype data is generally coded as a key (for example, infotype P0006, address type 1 = permanent residence) to allow fast data entry and space-saving storage. When you process infotypes, the texts or attributes of the keys are read from the relevant control tables.
    In many control tables, storage of data is time-dependent and therefore assigned a validity period.
    In HR, this applies to the following areas:
    • Work schedules
    • Pay scale structures
    • Wage types
    • Wage type valuation
    • Bank data
    • Positions
    • Payee codes
    When you read the data for an infotype key from time-dependent control tables, you must determine which record is valid in the specified validity period.
    If you use a transaction to process an infotype, the system reads the table record which is valid on the start date.
    Generalization of the View
    You can use the logical view to edit and output data according to user specifications.
    The special feature of HR views is the time dependency of the data. Personnel data is almost always related to specific validity periods. A HR view provides data for specific time intervals.
    In general terms, a HR view is a logical perspective of interval-dependent internal tables.
    See also:
    Processing All Infotype Records (PA-PAD)
    Processing All Infotype Records (PA-APP)
    Processing a Specific Infotype Record (PA-PAD)
    Processing a Specific Infotype Record (PA-APP)
    3 Import/Export Files in HR
    The following sections describe the purpose of files PCL1 and PCL2 and explains how to access them.
    Files PCL1, PCL2, PCL3 and PCL4
    Storing Data in PCLn Files
    PCLn Buffer
    Cluster Directory Manager
    3.1 Files PCL1, PCL2, PCL3 and PCL4
    Which information is stored in the files?
    File PCL1 is the basis for the HR work area data. It contains information from the time data recording, for example, incentive wage time tickets or infotype supplement texts.
    File PCL2 contains derived information, for example, payroll results. It also contains all generated payroll schemas.
    File PCL3 contains applicant data.
    File PCL4 contains the change documents for HR master data and recruitment.
    The structure of PCLn files corresponds to that of the INDX file which you may be familiar with from other applications. The structure of all PCLn files (n = 1, 2, 3, and 4) is identical.
    Structure of Files
    Like in almost all SAP files, the key element with the highest priority is the client; data within a client is grouped according to basic relations (field PCLn-RELID).
    The type of basic relation is known as a cluster and characterizes the stored data according to the type, for example, cluster RX contains the payroll result for country X (from table T500L) and cluster TE contains the trip costs data.
    Depending on the cluster, the structure of PCLn-SRTFD is defined in a field string xx-KEY, which is defined in an include RPCnxxy0.
    Naming conventions
    n = 1, 2, 3, or 4 (for PCL1, PCL2, PCL3, or PCL4)
    xx = for the cluster
    y = 0 for international clusters
    y = country grouping according to T500L for national clusters
    The personnel number is usually the first component of xx-KEY.
    Importing and Exporting Data
    The import/export files PCLn are managed with the ABAP/4® commands IMPORT and EXPORT . These commands store objects such as fields, field strings, or internal tables on the database, or read these from the database. Data is read from and written to the database using a unique key( xx-Key).
    Please note that the RMAC macros RP-IMP-Cn-xx and RP-EXP-Cn-xx are provided for importing and exporting data. Only these macros should be used.
    See also Macro Modules
    3.2 Storing Data in PCLn Files
    Data from the different HR application areas is stored in data clusters in PCLn files (n = 1, 2, 3, or 4).
    This collection of data objects can consist of:
    • Fields used within reports
    • Field strings
    • Internal tables
    The structure of the PCLn files provides a framework for the individual application areas.
    Each application area must have a two-character cluster name (relation ID). It must also have a key structure; 40 bytes of the SRTFD field are available for this structure.
    When a record is exported to the PCLn file, the cluster ID is written to the RELID field and the key value to the SRTFD field.
    Naming convention for includes when defining clusters:
    RPCnxxy0 n = 1, 2, 3 or 4 (for PCL1, PCL2, PCL3, PCL4)
    xx = cluster ID
    y = country indicator
    Description of Cluster Data using Cluster RX as an Example
    The data definition is stored in the include RPC2RX00 in accordance with the above naming conventions.
    Structure of cluster key:
    Data: BEGIN OF RX-KEY.
    INCLUDE STRUCTURE PC200.
    DATA: END OF RX-KEY.
    The DDIC structure PC200 contains the fields PERNR (personnel number) and SEQNO (sequential number).
    The data definition of the cluster also contains other internal tables.
    For a list of available data clusters, refer to the domain description in the Data Dictionary.
    xx Key
    The xx key name is dependent on the cluster.
    The RX KEY is used for all Rx and Xx clusters. In all other cases, the name of the xx key corresponds to that of the cluster.
    Cluster xx Key
    RA RX-KEY
    B1 B1-KEY
    G3 G3-KEY
    XA RX-KEY
    3.3 PCLn Buffer
    To keep the number of database accesses to a minimum, import and export data is stored in the main memory buffer. Buffer management routines ensure that exported data can be stored in the PCLn files.
    The following two examples illustrate which problems can occur without a buffer.
    Retroactive accounting of payroll results
    Starting payroll in the test mode
    Retroactive Accounting of Payroll Results
    In February 1998, a retroactive accounting run is executed for January.
    FOR PERIOD 199801 IN PERIOD 199802
    The payroll results for January are recalculated and then written directly to the database.
    Result:
    The database now contains the results of the following payroll periods.
    FOR-PERIOD 199801 IN-PERIOD 199802
    FOR-PERIOD 199801 IN-PERIOD 199801
    Payroll is then run for February.
    FOR-PERIOD 199802 IN-PERIOD 199802
    If problems should arise during the payroll run for this period, the February record is not stored on the database.
    Result:
    The current January record on the database is:
    FOR-PERIOD 199801 IN-PERIOD 199802
    This problem does not arise if you use the buffer since all data of a transaction is always updated collectively. In the above example, the recalculated January result would be stored in the buffer and, if the payroll run for February were terminated prematurely, the database would not be updated.
    The current January record on the database would thus be:
    FOR-PERIOD 199801 IN-PERIOD 199802
    Starting Payroll in the Test Mode
    In a test run, the database is not updated. Since the payroll results from the previous period are used as the basis for calculating the results of the following period, the results of the actual payroll run would differ from those of the test run, if this test run were executed over several periods.
    The use of the buffer enables trouble-free access to the required results for the previous period.
    What is required for exporting/importing data to/from the PCLn files using the buffer?
    &#61607; The following includes contain the data definition for the buffer. They must be included in the report that writes the data to or reads the data from the database.
    RPPPXD00
    RPPPXD10
    &#61607; Include RPPPXD10 must be in the common part ‘BUFFER’ .
    Include RPPPXM00, which contains the buffer management routines, is also required.
    The macros for importing and exporting data must comply with the following naming convention:
    Naming Convention for EXPORT/ IMPORT Macros:
    RP-aaa-Cn-xy
    where aaa = IMP / EXP, n=1 for PCL1, 2 for PCL2, 3 for PCL3, 4 or PCL4
    and xy = cluster name.
    This guarantees consistency between the export and import of data and also ensures that all exported objects are imported again.
    Export Using the Data Buffer
    When macros are used for exporting, records are written to a main memory buffer and not directly to the database. When the program run has been completed, the records in the buffer are stored in the appropriate PCLn database.
    Import Using the Data Buffer
    When the macros are used to import data, the data records are not read directly from file PCLn. Instead, the system checks the buffer directory to see whether the main memory already contains a record with the same key. If this is not the case, the record is read from PCLn to the buffer and then retrieved from the buffer for the report.
    If the import is successful, the return code RP-IMP-xy-SUBRC = 0 is set. When data is read from the buffer, the system carries out a check for cluster authorization. Standard import programs follow the naming convention RPCLSTxy (xy = cluster name).
    &#61607; report rpttcdmg.
    tables:
    pernr,
    pcl1,
    pcl2.
    include rpppxd00. "buffer definitions
    data: begin of common part 'BUFFER'.
    include rpppxd10. "PCLx buffer
    data: end of common part.
    data: begin of common part 'CLUSTER_DIRECTORY'.
    include rpc2cd00. " "cluster directory definitions
    data: end of common part.
    include rpc2rdd0.
    get pernr.
    rp-init-buffer. "reset buffer
    cd-key-pernr = pernr-pernr.
    rp-imp-c2-cd. "read cluster CD from
    buffer/DB
    perform cd_manager using ... .
    alternative: call function rp_evaluation_periods...
    rx-key-pernr = pernr-pernr.
    rx-key-seqno = rgdir-seqnr.
    rp-imp-c2-rd. "read cluster RD from
    buffer/DB
    rp-exp-c2-rd. "update cluster RD in buffer
    perform prepare_update using 'V'. "update database (DB)
    Subroutines CD manager and Cluster buffer
    include rpcmgr00. "Cluster Directory Manager
    include rpppxm00. "module pcl1(2)-buffer
    3.4 Cluster Directory
    Finding Payroll Results for a Specific Query
    Payroll results are stored in cluster Rx of the PCL2.
    The cluster key is non-mnemonic. It contains the PERNR (personnel number) and SEQNO (sequential number) fields.
    The internal table RGDIR contains a directory entry for each payroll result. This entry is a sequential number (RGDIR-SEQNR) which uniquely identifies the payroll result.
    Payroll results can only be imported if the payroll cluster key contains the personnel number and sequential number.
    Before you can import a payroll record, you must select the entry in the RGDIR on the basis of existing data such as for-period, for-payroll area, for-payroll category, in-period, in-payroll area, in-payroll category, and so on, in order to determine the sequential number.
    You will probably always have the same queries when importing payroll records. For example, "Which payroll results (original and retroactively accounted records) were written for a specific payroll run (defined by IN payroll category, IN payroll area, IN period)"?
    There are standard modules that can be used. It is advantageous to use the standard modules rather than self-programmed solutions because no program modifications will be required if the payroll directory changes. The modules are described in the following section:
    Function Modules for Selecting Payroll Results
    3.5 Function Modules for Selecting Payroll Results
    The employee’s payroll directory is always transferred to the function modules using the table RGDIR.
    The modules then transfer the payroll records which satisfy the specified selection criteria using a table whose type corresponds to that of the RGDIR but which has a different name. The selection parameters differ according to the function of the module. For more information, read the module documentation.
    All module names begin with ‘CD_’.
    Function Module: CD_EVALUATION_PERIODS
    Function Module: CD_READ_PREVIOUS
    Function Module: CD_READ_PREVIOUS_ORIGINAL
    Other Modules for the Payroll Cluster
    Sample Report
    Function Module: CD_EVALUATION_PERIODS
    This module transfers the payroll results to a payroll run as ‘A’ records (current). It also transfers the accompanying ‘P’ records (previous).
    This is the module most frequently used in evaluation programs.
    Table contents before the function module is accessed:
    SEQNR FPPER FPBEG FPEND INPER IPBEG IPEND BONDT PAYTY PAYID INPTY INPID
    00001 01.1996 01.01.96 01.15.96 01.1996 01.01.96 01.15.96
    00002 01.1996 01.01.96 01.15.96 01.16.96 01.16.96 B 0
    00003 01.16.96 01.16.96 01.16.96 01.16.96 01.16.96 B 0 B 0
    00004 01.17.96 01.17.96 01.17.96 01.17.96 01.17.96 A 0 A 0
    00005 01.17.96 01.17.96 01.17.96 01.17.96 01.17.96 A 1 A 1
    00006 02.1996 01.16.96 01.31.96 02.1996 01.16.96 01.31.96
    00007 02.1996 01.16.96 01.31.96 03.1996 02.01.96 01.15.96
    00008 03.1996 01.16.96 01.31.96 03.1996 01.01.96 02.15.96
    The following parameters are transferred:
    - BONUS_DATE = '00000000'
    - INPER_MODIF = '02'
    - INPER = '199803'
    - PAYTY = ' '
    - PAYID = ' '
    Result:
    SEQNR FPPER FPBEG FPEND INPER IPBEG IPEND BONDT PAYTY INPTY INPID SRTZA
    00006 02.1996 01.16.96 01.31.96 02.1996 01.16.96 01.31.96 P
    00007 02.1996 01.16.96 01.31.96 03.1996 02.01.96 02.15.96 A
    00008 03.1996 01.16.96 01.31.96 03.1996 02.01.96 02.15.96 A
    Explanation of individual fields
    Function Module: CD_READ_PREVIOUS
    This module transfers a previous payroll record for a payroll record; this is the newest record for the payroll period (or daily payroll run) which was written before the transferred payroll record and contains the same FOR data as the transferring record.
    Table contents before the function module is accessed:
    SEQNR FPPER FPBEG FPEND INPER IPBEG IPEND BONDT PAYTY PAYID
    00001 01.1996 01.01.96 01.15.96 01.1996 01.01.96 01.15.96
    00002 01.1996 01.01.96 01.15.96 01.16.96 01.16.96
    00003 01.16.96 01.16.96 01.16.96 01.16.96 01.16.96 B 0
    00004 01.17.96 01.17.96 01.17.96 01.17.96 01.17.96 A 0
    00005 01.17.96 01.17.96 01.17.96 01.17.96 01.17.96 A 1
    00006 02.1996 01.16.96 01.31.96 02.1996 01.16.96 01.31.96
    00007 02.1996 01.16.96 01.31.96 03.1996 02.01.96 02.15.96
    00008 03.1996 01.16.96 01.31.96 03.1996 02.01.96 02.15.96
    The following parameters are transferred:
    - Record with SEQNR '00007'
    Result:
    SEQNR FPPER FPBEG FPEND INPER IPBEG IPEND BONDT PAYTY SRTZA
    00006 02.1996 01.16.96 01.31.96 02.1996 01.16.96 01.31.96 P
    Explanation of individual fields
    Function Module: CD_READ_PREVIOUS_ORIGINAL
    This module reads the previous original payroll result.
    Table contents before the function module is accessed:
    SEQNR FPPER FPBEG FPEND INPER IPBEG IIPEND BONDT PAYTY PAYID
    00001 01.1996 01.01.96 01.15.96 01.1996 01.01.96 01.15.96
    00002 01.1996 01.01.96 01.15.96 01.16.96 01.16.96
    00003 01.16.96 01.16.96 01.16.96 01.16.96 01.16.96 B 0
    00004 01.17.96 01.17.96 01.17.96 01.17.96 01.17.96 A 0
    00005 01.17.96 01.17.96 01.17.96 01.17.96 01.17.96 A 1
    00006 02.1996 01.16.96 01.31.96 02.1996 01.16.96 01.31.96
    00007 02.1996 01.16.96 01.31.96 03.1996 02.01.96 02.15.96
    00008 03.1996 01.16.96 01.31.96 03.1996 02.01.96 02.15.96
    The following parameters are transferred:
    - Record with SEQNR '00008'
    Result:
    SEQNR FPPER FPBEG FPEND INPER IPBEG IPEND BONDT PAYTY SRTZA
    00006 02.1996 01.16.96 01.31.96 02.1996 01.16.96 01.3196 P
    Explanation of individual fields
    3.6 Other Modules for the Payroll Cluster
    Modules which derive information from the payroll cluster are available in addition to the modules for payroll result selection.
    1. CD_RETROCALC_PERIOD
    This module differentiates between original payroll records and retroactive accounting records.
    Table contents before the function module is accessed:
    SEQNR FPPER FPBEG FPEND INPER IPBEG IPEND BONDT PAYTY PAYID
    00001 01.1996 01.01.96 01.15.96 01.1996 01.01.96 01.15.96
    00002 01.1996 01.01.96 01.15.96 01.16.96 01.16.96
    00003 01.16.96 01.16.96 01.16.96 01.16.96 01.16.96 B 0
    00004 01.17.96 01.17.96 01.17.96 01.17.96 01.17.96 A 0
    00005 01.17.96 01.17.96 01.17.96 01.17.96 01.17.96 A 1
    00006 02.1996 01.16.96 01.31.96 02.1996 01.16.96 01.31.96
    00007 02.1996 01.16.96 01.31.96 03.1996 02.01.96 02.15.96
    00008 03.1996 01.16.96 01.31.96 03.1996 02.01.96 02.15.96
    The following parameters are transferred:
    - Record with SEQNR '00008'
    Result:
    - CALCD = ' '
    Explanation of individual fields
    2. CD_PAYROLL_UNTIL
    This module reads the RGDIR for the date up to which the regular payroll run was executed for an employee.
    3. CD_HIGHEST_PAYDT
    This module reads the most recent check date for an employee from the RGDIR.
    4. CD_GET_INFO
    This module provides information (most recent check date, accounted to date) for a particular personnel number.
    3.7 Explanation of Individual Fields
    For-Information
    The FPPER, FPBEG, FPEND, BONDT, PAYTY, PAYID, ABKRS, PERMO, PAYDT, JUPER fields contain information on the period for which payroll is run.
    In-Information
    The INPER, IPEND, INPTY, INPID, IABKRS, IPERM fields contain information on the period in which payroll is run.
    SEQNR
    The field is used as a key to uniquely identify the payroll record.
    This field also defines the sequence of payroll results (history).
    Control Indicator (SRTZA)
    Control indicator Meaning
    a Current
    p Previous
    o Old
    &#61607; For more information, see the online documentation for the individual function modules.
    3.8 Sample Report
    REPORT RPTTMWBS.
    DATA: RGDIR LIKE PC261 OCCURS 0 WITH HEADER LINE.
    DATA: EVPDIR LIKE RGDIR OCCURS 0 WITH HEADER LINE.
    DATA: PREVIOUS_RESULTS LIKE RGDIR OCCURS 0 WITH HEADER LINE.
    DATA: CALCD TYPE C.
    DATA: IN_ENTRY LIKE PC261.
    DATA: OUT_ENTRY LIKE PC261.
    INCLUDE RPCCCD09.
    CALL FUNCTION 'CU_READ_RGDIR'
    EXPORTING
    PERSNR = '00021218'
    TABLES IN_RGDIR = RGDIR
    EXCEPTIONS
    NO_RECORD_FOUND = 1
    OTHERS = 2.
    Read RGDIR
    CALL FUNCTION 'CD_EVALUATION_PERIODS'
    EXPORTING
    BONUS_DATE = '00000000'
    INPER_MODIF = '02'
    INPER = '199603'
    PAY_TYPE = CD_C-REGULAR
    PAY_IDENT = ' '
    TABLES
    RGDIR = RGDIR
    EVPDIR = EVPDIR
    IABKRS =
    EXCEPTIONS
    NO_RECORD_FOUND = 1
    OTHERS = 2.
    output:
    00006
    00007
    00008
    Read regular payroll results for January
    A results (original result plus retroactive calculations)
    and P results
    LOOP AT EVPDIR WHERE SRTZA = CD_C-ACTUAL.
    Only current results (00007 and 00008)
    CALL FUNCTION 'CD_RETROCALC_PERIOD'
    EXPORTING
    ENTRY = EVPDIR
    IMPORTING
    CALCD = CALCD
    EXCEPTIONS
    OTHERS = 1.
    Determine, whether original result
    CHECK CALCD = ' '.
    Special processing: Only the original period
    March is processed (seqnr 00008).
    IN_ENTRY = EVPDIR.
    CALL FUNCTION 'CD_READ_PREVIOUS_ORIGINAL'
    EXPORTING
    IN_RECORD = IN_ENTRY
    IMPORTING
    OUT_RECORD = OUT_ENTRY
    TABLES
    RGDIR = RGDIR
    EXCEPTIONS
    OTHERS = 1.
    out_entry now contains the previous results
    Input 00008 ----> Output 00006
    ENDLOOP.
    LOOP AT EVPDIR WHERE SRTZA = CD_C-ACTUAL.
    IN_ENTRY = EVPDIR.
    CALL FUNCTION 'CD_READ_PREVIOUS'
    EXPORTING
    IN_RECORD = IN_ENTRY
    TABLES
    RGDIR = RGDIR
    OUT_RGDIR = PREVIOUS_RESULTS
    EXCEPTIONS
    NO_RECORD_FOUND = 1
    OTHERS = 2.
    Input 00007 ---> 00006
    Input 00008 ---> no record found
    Output structure is a table, since there can be
    several previous results: for example, if legal person
    changes, and is retroactively deleted
    ENDLOOP
    4 Specific Commands
    The following sections describe the different specific commands in HR.
    Function modules in HR
    Macro modules
    4.1 Function Modules in HR
    Function modules are program modules which have a defined interface and allow type testing of parameters.
    They are managed with transaction SE37 and combined to function groups according to relevant criteria. You can access this transaction under Tools &#61614; ABAP Workbench &#61614; Function Builder.
    The HR function groups use the naming convention RPxx or HRxx where xx is an identifier of your choice.
    You can use the SHOW FUNCTION * editor command to branch from report processing to function module display.
    4.2 Macro Modules
    Definition
    An module that can be called within an ABAP program.
    Use
    Like subprograms and function modules, macro modules are a means of presenting programs in modular form. Macro modules (macros) are used often in the Human Resources application component (HR).
    Defining and Calling Modules
    Two options are provided:
    • Macros can be defined in reports or includes using the ABAP command DEFINE. A macro can be used within a report or within an include. If a macro is used in a report, and the macro is defined in an include with the DEFINE command, the include must be integrated.
    &#61607; Macros have the following advantages:
    If a macro is changed, each report using this macro is automatically regenerated when it is executed.
    • Macros can also be defined as RMAC macros. The source code of these modules is stored in the function section of the control table TRMAC (Macros in ABAP Programs). The coding is grouped under a specific name in the table key.
    According to conventions, the first two letters of the name must stand for the application. The rest of the name is freely definable.
    &#61607; Customer-specific RMAC modules should begin with a special character.
    The macros defined in the control table TRMAC can be used by all reports.
    &#61607; When you change a RMAC macro in the table TRMAC, the reports that use this macro are not regenerated automatically. You must regenerate them manually.
    The following section includes a list of programming utilities for the logical databases PNP and PAP.
    5 Utilities in HR
    The following utilities are available.
    General Utilities
    Report Meaning
    RPUACG00 Code generation / authorization check
    RPUAUD00 Infotype auditing
    Programming Utilities
    Report Meaning
    RPINCL10 String search in reports
    Cluster Utilities
    Report Meaning
    RPCLSTyy Display cluster for PCLx (yy = RELID)
    RPUPxD00 Delete cluster for PCLx (individual data records)
    RPUPxD10 Delete cluster for PCLx (several data records)
    6 References:
    Different parts of the document has been prepared with the help of articles available on Internet
    Following websites are referred :
    a). http://help.sap.com
    b). http://sapfans.com
    c). http://www.sap-basis-abap.com/saphr.htm
    HR:
    HR deals with the INFOTYPES which are similar to Tables in General ABAP.
    There are different ways of fetching data from these infotypes.
    There are different areas in HR LIKE Personal Admn, Orgn Management, Benefits, Time amangement, Event Management, Payroll etc
    Infotypes for these areas are different from one another area.
    storing of records data in each type of area is different
    LDBS like PNP are used in HR programing.
    Instead of Select.. we use some ROUTINES and PROVIDE..ENDPROVIDE.. etc
    and in the case of Pay roll we use Clusters and we Import and Export them for data fetching.
    On the whole Normal ABAP is different from HR abap.
    For Personal Admn the Infotypes start with PA0000 to PA1999
    Time Related Infotypes start with PA2000 to PA2999.
    Orgn related Infotypes start with HRP1000 to HRP1999.
    All custom developed infotypes stsrat with PA9000 onwards.
    In payroll processing we use Clusters like PCL1,2,3 and 4.
    Instead of Select query we use PROVIDE and ENDPROVIDE..
    You have to assign a Logical Database in the attributes PNP.
    Go through the SAp doc for HR programming and start doing.
    http://www.sapdevelopment.co.uk/hr/hrhome.htm
    See:
    http://help.sap.com/saphelp_46c/helpdata/en/4f/d5268a575e11d189270000e8322f96/content.htm
    sites regarding hr-abap:
    http://www.sapdevelopment.co.uk/hr/hrhome.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAPA/PAPA.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAPD/PAPD.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PYINT/PYINT_BASICS.pdf
    http://www.atomhr.com/training/Technical_Topics_in_HR.htm
    http://www.planetsap.com/hr_abap_main_page.htm
    You can see some Standard Program examples in this one ...
    http://www.sapdevelopment.co.uk/programs/programshr.htm
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci1030179,00.html?Offer=SAlgwn12604#Certification
    http://www.erpgenie.com/faq/hr.htm.
    http://www.planetsap.com/hr_abap_main_page.htm
    http://www.sapbrain.com/TUTORIALS/FUNCTIONAL/HR_tutorial.html
    These are the FAQ's that might helps you as well.
    http://www.sap-img.com/human/hr-faq.htm
    http://www.sapgenie.com/faq/hr.htm
    http://www.planetsap.com/hr_abap_main_page.htm
    http://www.atomhr.com/library_full.htm
    HR Long texts Upload
    Look at the below link
    sample code
    START-OF-SELECTION.
    GET pernr.
    rp_provide_from_frst p0000 space pn-begda pn-endda.
    if pnp-sw-found EQ '1'.
    READ TABLE p0001 WITH KEY pernr = p0000-pernr.
    if sy-subrc = 0.
    write : p0001-plans. " earliest.
    endif.
    endif.
    rp_provide_from_last p0014 space pn-begda pn-endda.
    if pnp-sw-found EQ '1'.
    READ TABLE p0014 WITH KEY pernr = p0000-pernr.
    if sy-subrc = 0.
    write : p0014-LGART. .
    endif.
    endif.
    check out the following links
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PYINT/PYINT_DATAEX.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CAARCHR/CAARCHR.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAXX/PAXX.pdf
    general links..
    http://www.sap-img.com/abap.htm
    http://help.sap.com/saphelp_46c/helpdata/en/fc/eb2d67358411d1829f0000e829fbfe/content.htm
    http://www.geocities.com/victorav15/sapr3/abap.html
    http://www.henrikfrank.dk/abapexamples/SapScript/sapscript.htm
    http://abap4.tripod.com/Other_Useful_Tips.html
    http://help.sap.com/saphelp_45b/helpdata/en/cf/21ee2b446011d189700000e8322d00/content.htm
    http://www.sap-basis-abap.com/sapmm.htm
    http://sap.ittoolbox.com/nav/t.asp?t=303&p=448&h1=303&h2=322&h3=448
    http://sapfans.com/
    http://cma.zdnet.com/book/abap/ch03/ch03.htm
    http://help.sap.com/saphelp_40b/helpdata/en/4f/991f82446d11d189700000e8322d00/applet.htm
    http://sappoint.com/abap/
    http://www.henrikfrank.dk/abapuk.html
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://www.sapgenie.com/abap/index.htm
    http://www.sap-img.com/abap.htm
    http://www.sapdevelopment.co.uk/tips/tipshome.htm
    http://help.sap.com/printdocu/core/Print46c/en/Data/Index_en.htm
    http://sap.ittoolbox.com/nav/t.asp?t=322&p=322&h1=322
    http://sap.ittoolbox.com/nav/t.asp?t=448&p=448&h1=448
    http://www.thespot4sap.com/
    http://www.kabai.com/abaps/q.htm
    http://www.geocities.com/mpioud/Abap_programs.html
    http://www.sapgenie.com/abap/tips_and_tricks.htm
    http://www.sapassist.com/code/d.asp?whichpage=1&pagesize=10&i=10&a=c&o=&t=&q=&qt=
    https://www.sdn.sap.com/irj/sdn/collaboration
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/HRINF/HRINF.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CAARCHR/CAARCHR.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAXX/PAXX.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PYINT/PYINT_DATAEX.pdf

  • China - Custom Tax, VAT Tax Handling

    Hi SAP friends
    I have the problem of Import custom tax and VAT tax for puchasing.
    It is Domestic Sales scenario. Need to purchase material from oversea vendor.
    Oversea vendor sell mateiral to China company RMB 100 per PC.
    Mainland company needs to pay custom for custom tax 20% and the custom tax is non-deductible. Custom tax is 100*(20%) = RMB 20.
    Then, Mainland company needs to pay China government VAT tax(17%),
    VAT tax is 100(1+custom tax)(VAT tax)-100 = 100(1.2)(1.17) - 100 = 40.4
    So, VAT tax amount = Material price * custom tax * VAT tax
    In PO, I use ZOA1 custom condition type to input Cutom tax amount for Custom tax and input Tax code for VAT tax.
    When good receipt, RMB 120 post to Material stock account. RMB 100 post to GR/IR. RMB20 post to custom account
    It still be fine.
    When do LIV, RMB 100 clear GR/IR. RMB 17 post to VAT tax account becasue it use RMB 100 as base amount to calculate VAT tax. RMB117 post to AP vendor account.
    Actually, mainland company only pays RMB100 to oversea vendor and the Tax amount should be include Custom amount. Corrrect VAT tax amount is 100(1.2)(1.17) - 100 = 40.4 (use RMB120 as base amount to calculate VAT tax), but not only RMB 17 . But, in LIV payment to vendor now is RMB120. It is not fulfill the requirement of mainland company.
    Do anyone have experience about China Import purchasing material. And, would share how to settle the payment of vendor and how to make use (Material price + Custom tax amount) as base amount to calculate VAT tax amount?
    Thanks a lot for your help!
    Mag

    It may helpful hint before going to configure.....abt the tax codes..
    Value Added Tax (VAT) was implemented in China in 1984. Initially, the tax was levied on 24 specified
    items. The need for constructing a socialist market economy system in China resulted in the proclamation
    of 'The Provisional Regulation of the People's Republic of China on Value Added Tax' on January 1, 1994.
    Value Added Tax in China is one of the important sources of fiscal revenues for the government,
    especially the central government. The implementation of VAT is done by the State Administration of
    Taxation while the customs collects the import VAT.
    ..******note this point it may helpful*********
    The revenue earned from VAT is divided between the central (75%) and local government (25%).
    The list of VAT taxable items and the rates in China can be understood from the following:
    Coverage of Collection
    Rate
    Exportation of goods
    Edible vegetable and grain duplicates
    Agriculture, forestry, aquatic products, products of animal husbandry
    Book, magazines, newspapers
    Tap water, cooling, heating, hot air supplying, gas, hot water, natural gas, liquefied petroleum gas,
    coal/charcoal products for household use
    Selected non-metal mineral products, Selected metal mineral products, coal
    Chemical fertilizers, feeds, agricultural machinery, agricultural chemicals, plastic converting film for
    farming 13%
    Crude oil, mine salt and other goods and services not listed above
    17%
    VAT in China is payable by individuals as well as enterprises who are associated with selling
    merchandise, providing services related to processing, repairing and assembling and import of goods.
    VAT Taxpayers in China are categorized into two sections, normal taxpayer and small taxpayer, depending
    on the turnover of the goods and services on sale and the accounting system condition.
    The amount of VAT payable by the normal taxpayer can be calculated by the following:
    Output tax payable for the current period u2013 Input tax payable for the current period = Tax payable
    The amount of VAT payable by the small taxpayer is as follows:
    Sales amount x Applicable rate = Tax payable
    (The applicable rate is 4% for commercial sectors and 6% for others)
    Certain items and services are exempted from VAT. These include the following:
    u2022  Instruments and equipment imported for direct use in scientific research, experiment and education
    u2022  the agricultural production materials as ruled, the self-produced primary agricultural products sold by
    Agricultural producing units and individuals
    u2022  Imported materials and equipment granted, gifted by foreign governments or international organizations
    u2022  Contraceptive medicines and devices
    u2022  Articles imported directly by organizations for the disabled for exclusive use by the disabled
    u2022  Materials imported directly to support the poverty relief and charity cause donated freely by overseas
    natural persons, legal persons and other organizations
    u2022  The taxable services provided by individual disabled laborers
    u2022  Antique books purchased from the public
    Certain reforms have been implemented in particular areas of China in 2004 with regard to the VAT.
    chk the website http://www.cabc.org.cn/news/2006-1-19/2006119145600.html

  • Ad hoc query titles

    Hi all,
    I am making an adhoc query of an infotype - say 0001.
    Now whatever fields have lov's or f4 possible value helps, their heading in the output is coming in proper text like  'personal number" etc. All those fields which are free text - like Legal Person ( P0001-JUPER) are coming as headings like 'LP'. i.e. their proper text is not coming. Please let me know how to change this text to the approprriate field description. Also if I created some fields in a custom infotype as data element type 'XFELD' check box, there the heading of the field in the ad hoc query is coming as 'Checkbox' which is actually the short description of the domain ' XFELD'.  Please let me know how to change this to desiered heading..
    Thanks
    Ribhu

    Dear Ribhu,
    http://help.sap.com/saphelp_nw04s/helpdata/en/fb/ac5f2d61ae11d295b10000e82de14a/frameset.htm
    Using transaction CMOD chose the following menu option
    TextEnhancements -> Keywords -> change
    2) Give Data Element name
    3) Enter the data element that you wish to change the display text for, then click the change icon(Pencil). You will then be presented with the screen, which allows you to modify the text values of the data element.
    Hope this will help.
    Regards,
    Naveen.

  • No client certificate available, sending empty certificate message

    Dear Experts,
        I am trying to establish SSL client certificate connection to external partner. What puzzles me is that the certificate is not picked up by SAP PI. The intermediate and root CA for the partner are OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign,OU=VeriSign International Server CA - Class 3,OU=VeriSign, Inc.,O=VeriSign Trust Network and OU=Class 3 Public Primary Certification Authority,O=VeriSign, Inc.,C=US, respectively. You will be able to spot them in the Accepted Certificate Authority list, yet PI insists on sending empty certificate.
        Below is trace gathered from J2EE default trace. Please help shed some light
    Date : 11/16/2011
    Time : 8:49:11:423
    Message : additional info ssl_debug(9): Starting handshake (iSaSiLk 4.3)...
    ssl_debug(9): Sending v3 client_hello message to preprod.connect.elemica.com:443, requesting version 3.2...
    ssl_debug(9): Received v3 server_hello handshake message.
    ssl_debug(9): Server selected SSL version 3.1.
    ssl_debug(9): Server created new session 22:E7:C0:9E:C1:D2:78:83...
    ssl_debug(9): CipherSuite selected by server: TLS_RSA_WITH_AES_256_CBC_SHA
    ssl_debug(9): CompressionMethod selected by server: NULL
    ssl_debug(9): Received certificate handshake message with server certificate.
    ssl_debug(9): Server sent a 1024 bit RSA certificate, chain has 2 elements.
    ssl_debug(9): ChainVerifier: No trusted certificate found, OK anyway.
    ssl_debug(9): Received certificate_request handshake message.
    ssl_debug(9): Accepted certificate types: RSA, DSA
    ssl_debug(9): Accepted certificate authorities:
    ssl_debug(9):   CN=QuoVadis Global SSL ICA,OU=www.quovadisglobal.com,O=QuoVadis Limited,C=BM
    ssl_debug(9):   CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB
    ssl_debug(9):   CN=CSF - Classe III - Sign et Crypt,OU=Certification Professionnelle,O=Autorite Consulaire
    ssl_debug(9):   CN=GTE CyberTrust Global Root,OU=GTE CyberTrust Solutions, Inc.,O=GTE Corporation,C=US
    ssl_debug(9):   CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
    ssl_debug(9):   CN=DPWN SSL CA I2 PS,OU=I2 PS,O=Deutsche Post World Net
    ssl_debug(9):   CN=CSF,O=Autorite Consulaire
    ssl_debug(9):   C=BE,O=GlobalSign nv-sa,OU=RootSign Partners CA,CN=GlobalSign RootSign Partners CA
    ssl_debug(9):   CN=Dell Inc. Enterprise Utility CA1,O=Dell Inc.
    ssl_debug(9):   EMAIL=premium-server(a)thawte.com,CN=Thawte Premium Server CA,OU=Certification Services Division,O=Thawte Consulting cc,L=Cape Town,ST=Western Cape,C=ZA
    ssl_debug(9):   CN=TC TrustCenter Class 2 L1 CA XI,OU=TC TrustCenter Class 2 L1 CA,O=TC TrustCenter GmbH,C=DE
    ssl_debug(9):   CN=VeriSign Class 3 Extended Validation SSL SGC CA,OU=Terms of use at https://www.verisign.com/rpa (c)06,OU=VeriSign Trust Network,O=VeriSign, Inc.,C=US
    ssl_debug(9):   OU=VeriSign Trust Network,OU=(c) 1998 VeriSign, Inc. - For authorized use only,OU=Class 3 Public Primary Certification Authority - G2,O=VeriSign, Inc.,C=US
    ssl_debug(9):   CN=TC TrustCenter SSL CA I,OU=TC TrustCenter SSL CA,O=TC TrustCenter GmbH,C=DE
    ssl_debug(9):   CN=Entrust Root Certification Authority,OU=(c) 2006 Entrust, Inc.,OU=www.entrust.net/CPS is incorporated by reference,O=Entrust, Inc.,C=US
    ssl_debug(9):   CN=VeriSign Class 3 International Server CA - G3,OU=Terms of use at https://www.verisign.com/rpa (c)10,OU=VeriSign Trust Network,O=VeriSign, Inc.,C=US
    ssl_debug(9):   CN=Meijer ipprod,OU=IT,OU=Merch,O=Meijer Stores Limited,L=Walker,ST=MI,C=US
    ssl_debug(9):   CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
    ssl_debug(9):   OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign,OU=VeriSign International Server CA - Class 3,OU=VeriSign, Inc.,O=VeriSign Trust Network
    ssl_debug(9):   CN=UTN - DATACorp SGC,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
    ssl_debug(9):   CN=Deutsche Telekom CA 5,OU=Trust Center Deutsche Telekom,O=T-Systems Enterprise Services GmbH,C=DE
    ssl_debug(9):   CN=TC TrustCenter Class 2 CA II,OU=TC TrustCenter Class 2 CA,O=TC TrustCenter GmbH,C=DE
    ssl_debug(9):   CN=VeriSign Class 3 Secure Server CA - G2,OU=Terms of use at https://www.verisign.com/rpa (c)09,OU=VeriSign Trust Network,O=VeriSign, Inc.,C=US
    ssl_debug(9):   OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign,OU=VeriSign International Server CA - Class 3,OU=VeriSign, Inc.,O=VeriSign Trust Network
    ssl_debug(9):   CN=Thawte SGC CA,O=Thawte Consulting (Pty) Ltd.,C=ZA
    ssl_debug(9):   CN=Bertschi CA,O=Bertschi AG (Schweiz),L=Duerrenaesch,ST=Switzerland,C=CH
    ssl_debug(9):   CN=Cybertrust SureServer CA,O=GlobalSign Inc
    ssl_debug(9):   CN=VeriSign Class 3 Secure Server CA,OU=Terms of use at https://www.verisign.com/rpa (c)05,OU=VeriSign Trust Network,O=VeriSign, Inc.,C=US
    ssl_debug(9):   EMAIL=server-certs(a)thawte.com,CN=Thawte Server CA,OU=Certification Services Division,O=Thawte Consulting cc,L=Cape Town,ST=Western Cape,C=ZA
    ssl_debug(9):   CN=Mark Van Hamme,O=Brain2 BVBA,L=Brussels,ST=Brabant,C=BE
    ssl_debug(9):   CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US
    ssl_debug(9):   EMAIL=bis.at(a)siemens.com,CN=bis.siemens.at,OU=SBS ORS EDO,O=Siemens Business Services,L=Vienna,ST=Vienna,C=AT
    ssl_debug(9):   CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU=(c) 1999 VeriSign, Inc. - For authorized use only,OU=VeriSign Trust Network,O=VeriSign, Inc.,C=US
    ssl_debug(9):   CN=mail2.adr-logistics.hu,O=ADR Logistics Kft.,L=Gyu00E1l,ST=Pest,C=HU
    ssl_debug(9):   EMAIL=brent.kemp(a)sscoop.com,CN=bacchusdevp.sscoop.com,OU=IS,O=Southern States Cooperative Inc,L=Richmond,ST=VA,C=US
    ssl_debug(9):   CN=Cybertrust SureServer Standard Validation CA,O=Cybertrust Inc
    ssl_debug(9):   OU=Go Daddy Class 2 Certification Authority,O=The Go Daddy Group, Inc.,C=US
    ssl_debug(9):   CN=Certipost E-Trust Secondary Normalised CA for Legal Persons,O=Certipost s.a./n.v.,C=BE
    ssl_debug(9):   EMAIL=cert(a)bit-serv.de,CN=BIT-SERV GmbH Root CA,O=BIT-SERV GmbH,C=DE
    ssl_debug(9):   CN=SAP_elemica_tester
    ssl_debug(9):   CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
    ssl_debug(9):   OU=Class 1 Public Primary Certification Authority,O=VeriSign, Inc.,C=US
    ssl_debug(9):   CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE
    ssl_debug(9):   CN=Montova Root CA,OU=Root CA,O=Montova,C=BE
    ssl_debug(9):   CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE
    ssl_debug(9):   CN=Dell Inc. Enterprise CA,O=Dell Inc.
    ssl_debug(9):   CN=COMODO High-Assurance Secure Server CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
    ssl_debug(9):   EMAIL=support(a)tamgroup.com,OU=Engineering,O=Tamgroup,ST=California,L=San Anselmo,C=US,CN=Tamgroup
    ssl_debug(9):   CN=GlobalSign Organization Validation CA,O=GlobalSign,OU=Organization Validation CA
    ssl_debug(9):   CN=Certinomis AC 1 u00E9toile,OU=0002 433998903,O=Certinomis,C=FR
    ssl_debug(9):   CN=GlobalSign ServerSign CA,OU=ServerSign CA,O=GlobalSign nv-sa,C=BE
    ssl_debug(9):   CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM
    ssl_debug(9):   CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE
    ssl_debug(9):   CN=Equifax Secure Global eBusiness CA-1,O=Equifax Secure Inc.,C=US
    ssl_debug(9):   CN=GlobalSign Organization Validation CA,O=GlobalSign,OU=Organization Validation CA
    ssl_debug(9):   CN=thawte Primary Root CA,OU=(c) 2006 thawte, Inc. - For authorized use only,OU=Certification Services Division,O=thawte, Inc.,C=US
    ssl_debug(9):   CN=Certipost E-Trust Primary Normalised CA,O=Certipost s.a./n.v.,C=BE
    ssl_debug(9):   CN=Thawte DV SSL CA,OU=Domain Validated SSL,O=Thawte, Inc.,C=US
    ssl_debug(9):   OU=Equifax Secure Certificate Authority,O=Equifax,C=US
    ssl_debug(9):   CN=preprod.connect.elemica.com,OU=CONNECTED SOLUTIONS,O=Elemica,L=Wayne,ST=Pennsylvania,C=US
    ssl_debug(9):   CN=Certinomis - Autoritu00E9 Racine,OU=0002 433998903,O=Certinomis,C=FR
    ssl_debug(9):   CN=DPWN Root CA R2 PS,OU=IT Services,O=Deutsche Post World Net,DC=com
    ssl_debug(9):   CN=Thawte Test CA Root,OU=TEST TEST TEST,O=Thawte Certification,ST=FOR TESTING PURPOSES ONLY,C=ZA
    ssl_debug(9):   OU=Class 3 Public Primary Certification Authority,O=VeriSign, Inc.,C=US
    ssl_debug(9):   EMAIL=santiago.tolosa(a)eu.rhodia.com,CN=Rhodia Development CA,OU=ISF - WARTE,O=Rhodia,L=La Villette,ST=France,C=FR
    ssl_debug(9):   CN=Entrust.net Secure Server Certification Authority,OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS incorp. by ref. (limits liab.),O=Entrust.net,C=US
    ssl_debug(9):   CN=DigiCert High Assurance CA-3,OU=www.digicert.com,O=DigiCert Inc,C=US
    ssl_debug(9):   CN=Groep H. Essers TEST (99805D6DA33FCC1700010002),O=Montova,C=BE
    ssl_debug(9):   serialNumber=07969287,CN=Go Daddy Secure Certification Authority,OU=http://certificates.godaddy.com/repository,O=GoDaddy.com, Inc.,L=Scottsdale,ST=Arizona,C=US
    ssl_debug(9):   CN=VeriSign Class 3 Secure Server 1024-bit CA - G2,OU=Terms of use at https://www.verisign.com/rpa (c)09,OU=VeriSign Trust Network,O=VeriSign, Inc.,C=US
    ssl_debug(9):   serialNumber=10688435,CN=Starfield Secure Certification Authority,OU=http://certificates.starfieldtech.com/repository,O=Starfield Technologies, Inc.,L=Scottsdale,ST=Arizona,C=US
    ssl_debug(9):   CN=Conextrade,OU=Swisscom IT,O=Swisscom AG,L=Zurich,ST=Zurich,C=CH,EMAIL=ccc.eTrade(a)swisscom.com
    ssl_debug(9):   CN=b2bproto.basf-corp.com,OU=Corporate IS,O=BASF Corporation,L=Mount Olive,ST=New Jersey,C=US
    ssl_debug(9):   CN=GlobalSign Domain Validation CA - G2,O=GlobalSign nv-sa,C=BE
    ssl_debug(9):   CN=Swisscom Root CA 1,OU=Digital Certificate Services,O=Swisscom,C=ch
    ssl_debug(9):   CN=GeoTrust DV SSL CA,OU=Domain Validated SSL,O=GeoTrust Inc.,C=US
    ssl_debug(9):   EMAIL=!sysadmin(a)elemica.com,CN=www.elemica.com,OU=Connected Solutions,O=Elemica, Inc,L=Wayne,ST=Pennsylvania,C=US
    ssl_debug(9):   CN=GeoTrust SSL CA,O=GeoTrust, Inc.,C=US
    ssl_debug(9):   CN=RapidSSL CA,O=GeoTrust, Inc.,C=US
    ssl_debug(9):   CN=Entrust Certification Authority - L1E,OU=(c) 2009 Entrust, Inc.,OU=www.entrust.net/rpa is incorporated by reference,O=Entrust, Inc.,C=US
    ssl_debug(9):   CN=EAS,O=COMPUDATA EDI Dienstleister,C=CH,EMAIL=helpdesk.dl(a)compudata.ch
    ssl_debug(9):   CN=GlobalSign Domain Validation CA,O=GlobalSign nv-sa,OU=Domain Validation CA,C=BE
    ssl_debug(9):   CN=GlobalSign Primary Secure Server CA,OU=Primary Secure Server CA,O=GlobalSign nv-sa,C=BE
    ssl_debug(9):   CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE
    ssl_debug(9):   CN=Entrust Root Certification Authority,OU=(c) 2006 Entrust, Inc.,OU=www.entrust.net/CPS is incorporated by reference,O=Entrust, Inc.,C=US
    ssl_debug(9):   CN=Thawte SSL CA,O=Thawte, Inc.,C=US
    ssl_debug(9):   CN=Entrust Certification Authority - L1C,OU=(c) 2009 Entrust, Inc.,OU=www.entrust.net/rpa is incorporated by reference,O=Entrust, Inc.,C=US
    ssl_debug(9):   CN=UTN-USERFirst-Hardware,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
    ssl_debug(9):   EMAIL=vladimir.polak(a)esa.ch,CN=Vladimir Polak,O=Einkaufsorganisation des Schweizerischen Auto- und Motorfahrzeuggewerbes,C=CH
    ssl_debug(9):   CN=IT Directions and Strategies,OU=ITDS EDI,ST=WI,C=US,L=Hartland,EMAIL=aklumpp(a)itdsllc.com,O=ITDS EDI
    ssl_debug(9):   CN=Entrust Certification Authority - L1B,OU=(c) 2008 Entrust, Inc.,OU=www.entrust.net/CPS is incorporated by reference,OU=CPS CONTAINS IMPORTANT LIMITATIONS OF WARRANTIES AND LIABILITY,OU=AND ADDITIONAL TERMS GOVERNING USE AND RELIANCE,O=Entrust, Inc.,C=US
    ssl_debug(9):   CN=GlobalSign Organization Validation CA - G2,O=GlobalSign nv-sa,C=BE
    ssl_debug(9):   CN=VeriSign Class 1 Individual Subscriber CA - G3,OU=Persona Not Validated,OU=Terms of use at https://www.verisign.com/rpa (c)09,OU=VeriSign Trust Network,O=VeriSign, Inc.,C=US
    ssl_debug(9):   CN=VeriSign Class 1 Individual Subscriber CA - G2,OU=Persona Not Validated,OU=Terms of use at https://www.verisign.com/rpa (c)05,OU=VeriSign Trust Network,O=VeriSign, Inc.,C=US
    ssl_debug(9):   CN=TeleSec ServerPass CA 1,OU=Trust Center Services,O=T-Systems International GmbH,C=DE
    ssl_debug(9):   CN=TC TrustCenter Class 3 L1 CA V,OU=TC TrustCenter Class 3 L1 CA,O=TC TrustCenter GmbH,C=DE
    ssl_debug(9):   C=NL,ST=Zuid-Holland,L=Spijkenisse,O=De Rijke Transport,OU=ICT,CN=smtphost.derijke.com
    ssl_debug(9):   CN=VeriSign Class 3 Secure Server CA - G3,OU=Terms of use at https://www.verisign.com/rpa (c)10,OU=VeriSign Trust Network,O=VeriSign, Inc.,C=US
    ssl_debug(9):   CN=Comodo Class 3 Security Services CA,OU=(c)2002 Comodo Limited,OU=Terms and Conditions of use: http://www.comodo.net/repository,OU=Comodo Trust Network,O=Comodo Limited,C=GB
    ssl_debug(9):   CN=UTN-USERFirst-Hardware,OU=http://www.usertrust.com,O=The USERTRUST Network,L=Salt Lake City,ST=UT,C=US
    ssl_debug(9):   OU=Starfield Class 2 Certification Authority,O=Starfield Technologies, Inc.,C=US
    ssl_debug(9):   EMAIL=ftp(a)csx.com,C=US,O=CSX Corporation Inc,CN=CSX_CORPORATION_AS2_02062009
    ssl_debug(9):   CN=EssentialSSL CA,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB
    ssl_debug(9):   CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US
    ssl_debug(9):   CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU=(c) 2006 VeriSign, Inc. - For authorized use only,OU=VeriSign Trust Network,O=VeriSign, Inc.,C=US
    ssl_debug(9): Received server_hello_done handshake message.
    ssl_debug(9): No client certificate available, sending empty certificate message...
    ssl_debug(9): Sending client_key_exchange handshake...
    ssl_debug(9): Sending change_cipher_spec message...
    ssl_debug(9): Sending finished message...
    ssl_debug(9): Received alert message: Alert Fatal: bad certificate
    ssl_debug(9): SSLException while handshaking: Peer sent alert: Alert Fatal: bad certificate
    ssl_debug(9): Shutting down SSL layer...
    Severity : Error
    Category : /Applications/ExchangeInfrastructure/AdapterFramework/SAPLibraries/SAPXDK
    Location : com.sap.aii.messaging.net.HTTPClientConnection.call(Object)
    Application : sap.com/com.sap.xi.rwb
    Thread : SAPEngine_Application_Thread[impl:3]_0
    Datasource : 7662250:E:\usr\sap\T37\DVEBMGS00\j2ee\cluster\server0\log\defaultTrace.trc
    Message ID : 00505688007A006A0000005100001B8C0004B1CF78E9602A
    Source Name : com.sap.aii.messaging.net.HTTPClientConnection
    Argument Objs :
    Arguments :
    Dsr Component :
    Dsr Transaction : cc6d1cee0fec11e1c90200000074eaaa
    Dsr User :
    Indent : 0
    Level : 0
    Message Code :
    Message Type : 0
    Relatives : /Applications/ExchangeInfrastructure/AdapterFramework/SAPLibraries/SAPXDK
    Resource Bundlename :
    Session : 365
    Source : com.sap.aii.messaging.net.HTTPClientConnection
    ThreadObject : SAPEngine_Application_Thread[impl:3]_0
    Transaction :
    User : CPWONG
    Dsr Root Context ID :
    Dsr Connection :
    Dsr Counter : -1

    Hi ,
    Is the above problem solved , can you share the solution.
    Thanks

Maybe you are looking for

  • Registering Partner Application in OAS 10.1.3.1

    Machine A: ple-wlau5 OID and Oracle SSO [installed through infrastructure - 10.1.2.0.1]. such as D:\Oracle\Product\OID101201 Machine B : wlau-lap OAS [installed through 10.1.3.1] such as C:\Oracle\product\10.1.3.1\OAS10131 and Oracle Portal [installe

  • Help with SQL Syntax

    Hello, I've got a form that returns results from a MySQL table [tasks] based on three parameters: task_resource begin_date end_date Here is my code in the record set dialog box: SELECT * FROM tasks WHERE (task_resource = varName) AND (begin_date BETW

  • How do I stop all the tabs from closing at once in Safari v 6.0.3?

    How do I stop all the tabs from closing at once in Safari v 6.0.3?

  • IMessage/texts

    A month ago, my brother went from an iPhone 4, maybe 4s, to a Microsoft Windows or Surface phone and he took his phone number with him.  However, whenever I've tried to text him from an iPhone 5s, it tells me that I'm sending him an iMessage, which s

  • Bridge table to Role Playing Dimension

    Hi, Fact Sales table has role playing Customer dimension table related to it. For each role it had a relationship in the DSV. One on CustomerA the other on CustomerB. Now I have a trip dimension which should have a many to many relationship to the cu