Regarding Personal Object Worklist

Hai ,
I am practicing POWL in this i have doubts .
                 1) why we need to create  Application ID
                 2) and what is the use of POWL_TYPE  please tell me if any one knows about it .
Can any one give good links to follow the  powl .
Thanks ,
srikanth.

Hi Shrikanth
A Power List can have a number of queries assigned to a single APPLID (application ID). Each of these queries are displayed in a separate tab but grouped using a single APPLID.
For creating Tabs in POWL , you have to create different Powl Type and assign it to a single Application ID.
Transaction FPB_MAINTAIN_HIER - Creates an APPLID
Transaction POWL_TYPE - Creates a POWL type and assigns feeder class for populating data in the query list
Transaction POWL_TYPER - Used to assign a POWL type to an APPLID
Transaction POWL_QUERY - To change the admin display layout for the query and other query related settings like selection criteria etc
Please refer the below link:
http://help.sap.com/bp_ekit604/BBLibrary/HTML/K50_EN_DE.htm
Thanks,
Lorraine

Similar Messages

  • Creation of Personal Object Worklists - can anyone help...?

    Hi All,
    We have a portal where in which the end users(actually power users) can view reports, run queries within the privileges of their authorizations,change queries and save them etc.....
    All the data for the reports comes from ECC(backend).
    Given the above situation I want to create a Personal Object Worklist(POWL).
    POWL is totally new ,hence i need in-depth info ;would be really helpful if someone can explain the concept of POWL comprehensively please...!
    All valuable help will be appreciated through fitting points!!
    Thanks and Regards,
    Sai.

    hei, try to look into this link
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/42/d6652b755c1630e10000000a1553f7/frameset.htm
    Hope this will help you .

  • PLM WEB UI - Personal Object Worklist for Material BOMs dumps in Portal

    We installed business package for PLM WEB User interface and we start playiong around with the POWL functionality. For some reason teh system ends in an error calling ....../sap/bc/webdynpro/PLMU/wda_wcc_myobj/
    This is section Personal Object Worklist for Material BOMs within Material BOMS
    Below is what I get
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Error when processing your request
    What has happened?
    The URL ......../sap/bc/webdynpro/PLMU/wda_wcc_myobj/ was not called due to an error.
    Note
    The following error text was processed in the system ... : The ASSERT condition was violated.
    The error occurred on the application server sapdl1_DL1_00 and in the work process 2 .
    The termination type was: RABAX_STATE
    The ABAP call stack was:
    Method: /PLMB/IF_SPI_METADATA_BASE~GET_NODE_DEFINITION of program /PLMB/CL_SEA_SELOPT_MP========CP
    Method: GET_NODE_DEFINITION of program /PLMB/CL_SPI_METADATA=========CP
    Method: GET_INSTANCE of program /PLMB/CL_SPI_METADATA=========CP
    Method: GET_PROVIDERS of program /PLMB/CL_SPI_FACTORY==========CP
    Method: CONSTRUCTOR of program /PLMB/CL_SPI_CONNECTOR========CP
    Method: GET_SEA_CONFIG of program /PLMU/CL_WCC_PWL_FEEDER_ABS===CP
    Method: CREATEPOWLDEF of program /PLMU/CL_WCC_PWL_FEEDER_ABS===CP
    Method: IF_POWL_FEEDER~GET_SEL_CRITERIA of program CL_POWL_EASY_FEEDER===========CP
    Method: IF_POWL_FEEDER~GET_SEL_CRITERIA of program /PLMU/CL_WCC_PWL_FEEDER_ABS===CP
    Method: GET_UPDATED_SELCRIT of program CL_POWL_UTIL==================CP
    What can I do?
    If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system ... in transaction ST22.
    If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server sapdl1_DL1_00 in transaction SM21.
    If the termination type was ERROR_MESSAGE_STATE, then you can search for more information in the trace file for the work process 2 in transaction ST11 on the application server sapdl1_DL1_00 . In some situations, you may also need to analyze the trace files of other work processes.
    If you do not yet have a user ID, contact your system administrator.
    Error code: ICF-IE-http -c: 020 -u: AXH7220 -l: E -s: DL1 -i: sapdl1_DL1_00 -w: 2 -d: 20100603 -t: 060408 -v: RABAX_STATE -e: ASSERTION_FAILED
    HTTP 500 - Internal Server Error
    Your SAP Internet Communication Framework Team
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    However , if I run this service as a standalone URL I get a screen where I can fill in an application, business object and/or system. If I select one, it works perfectly
    What step do I miss?
    Thanks for any input on this
    kind regards
    Angelique Heutinck
    IFF

    Hi,
    I would reconmend to open an OSS message about this error.
    Martin

  • Personal Objects WorkList

    hi,
    Anyone have any idea about POWL(Personal Objects Worklist) in BI ?
    Useful answers will be rewarded.
    Regards,
    Sangeetha.A

    Hi,
    check the following link! it may help u.
    http://help.sap.com/saphelp_nw70/helpdata/en/60/4ed691587547c3a53c27fd2e8eaede/frameset.htm
    Thanks,
    Ravi

  • Personal Object Worklist (POWL)

    Hi Everyone,
    I'm a newbie in Portal content so please give an answer in the simplest of english.
    Q : What does a POWL in the context of an Enterprise Portal User mean/offer??
    Thanks and Best Regards,
    Sai

    >>what POWL is all about>>
    The Personal Object Worklist (POWL) provides you, as an Enterprise Portal user, with a general overview of your work environment and all related business objects that you would be interested to work on. It enables you to manage your work efficiently and aids in decision-making. POWLs are most suited to assignments that are not a part of a workflow.
    >>its use>>
    Function
    Gives you a unified and centralized way to access your work and the relevant information
    Aggregates non-workflow task items from multiple and different systems in one universal list
    Displays additional information as required from document and object repositories, including attachments and other details such as worklist type dependent actions
    Provides easy entry into business object handling in detail and also in presentation of work items
    Example
    Consider a production order-related worklist; based on a predefined selection variant the Production Supervisor (portal role) gets a worklist with planned orders for his or her section of a plant, including a workshop, which is represented by all materials belonging to the same material class.
    The Production Supervisor can now select one or more planned orders, convert them to production orders, release the orders, print the work instructions, and distribute the worklists to the responsible operator groups.
    >>whats it based on>>
    You can find the settings and configurations here
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/42/d6652b755c1630e10000000a1553f7/content.htm
    >>its use in contrast with WEB DYNPRO>>
    It is an ABAP Webdynpro Application and part of Netweaver 2004s so you can create a Webdynpro iView for ABAP in Portals using the following link
    http://help.sap.com/saphelp_erp2005vp/helpdata/en/44/451e7582190a64e10000000a422035/content.htm
    A POWL (Personal Object Work List) is an individual list generated by query that provides an overview of the user's working environment by presenting one or more list of objects, as a set from which the user can select items to work on. There are some POWLs which are already predefined and delivered together with the applications available in the SAP NetWeaver Portal. However, if the default POWLs do no meet the customer requirements, it is possible to change the query values or to assign different POWLs to the application you like.
    Configuration Settings in the Backend System:
    1. Log on to the backend system <System ID> you want to configure
    2. Start the transaction ‚POWL_QUERY’
    3. Click on button ‘New Entries’
    4. Enter a name for ‘Query ID’ and the corresponding ‘Description’.
    5. Select an available ‘Type’ via F4 help
    6. Save your query definition
    7. Go back to the „Main Table View: Initial Screen“ and select the Query you’ve already created
    8. Click on ‘Details’ or <Ctrl-Shift-F2>
    9. Click on button ‘Query Parameters’
    10. Fill in some values for one/more selection criteria
    11. Save your changes
    You&#61550; may need to assign the POWLs you would like to display for a specific Application (e.g. Customer Fact Sheet). In order do this, you should do the following:
    12. Start transaction ‘POWL_QUERYR’.
    13. Click on button ‘New Entries’
    14. Select as ‘Application’ via F4 help the application you would like to assing the queries to (e.g.value ‘O2C-CUSTOMER_FACT_SHEET”) and as ‘Query ID’ the query you’ve already created. (Note: Not all the POWLs may work for the application you want)
    13. Mark the checkbox ‘Activate’ and save your entry
    To test if the POWLs you've defined display correctly on the SAP NetWeaver Portal:
    1. Log on to the SAP NetWeaver Portal
    2. Open the Application you would like to test and for which you assigned the POWLs (e.g. Customer Fact Sheet’) and, check if the queries are available.
    Please follow the following steps to create a powl worklist and see it using the powl application .
    1) implement the feeder class IF_POWL_FEEDER. Details about this can be found here http://help.sap.com/saphelp_erp2005vp/helpdata/en/42/d6652b755c1630e10000000a1553f7/frameset.htm
    2) Maintain an application id using the transaction FPB_MAINTAIN_HIER
    3) Go to transaction POWL_TYPE to define a powl type. point it to your newly created class.
    4) Next in the transaction POWL_TYPER maintain the newyl created powl type with the application id.
    5) Using transaction POWL_QUERY create a default query. In this step you will have to specify the type of query (again the powl type). Here you will be mentioning the type of query.
    6) using POWL_CAT maintain a category. The category is used to group multiple queries of the same type.
    7) In POWL_QUERYR maintain the default query created with the application id and the category.
    8) call the powl application with the applid.

  • Personal Object Worklist

    HI,
      what is personal Object Work list? What is the use of POWL. what is the tcode to create personal worklist.

    Hi Hima,
    Check this link. It might help you.
    /message/4693417#4693417 [original link is broken]
    Thanks.

  • Personal Object worklist for ISR

    Hi Experts,
    Any one of you  have good knowledge of POWL. I am new to this area.
    We have a requirement where we want to add new field to Query parameters which are automatically generated when we create Default queries.
    As partner function and partnere number fileds do not fetched desired values when
    we execute the query in ISR.
    Could you be able to put some light on this.
    Thanks and regards.
    BD

    Hi,
    I would reconmend to open an OSS message about this error.
    Martin

  • Personal Object Worklist Issue (POWL)

    Hi Experts,
    We are using SRM 7.0 with Classic Mode, Shopping Cart has been disappeared in POWL after posting the confirmation in SRM or in SAP R/3.
    Follow-on Documents:
    SC with Catalogue item -
    > Purchase Order (SAP R/3) -
    > Confirmation (SRM or SAP R/3) -
    > Invoice (SAP R/3)
    SC with Non-Catalogue item -
    > Purchase Requisition (SAP R/3) -
    > Purchase Order (SAP R/3) -
    > Confirmation (SRM or SAP R/3) -
    > Invoice (SAP R/3)
    Please advice
    BR,
    Siva

    Hi Masa,
    Thanks for the reply.
    I have flagged the Including Completed Shopping Cart checkbox in POWL. Its working fine.
    Thank you.....
    BR,
    Siva

  • Need a query to list all the personalized objects under a given path

    Hello Gurus,
    Can you help me with a query that will give me a list of all personalized objects that are under a given path like /oracle/apps/per/...
    Thanks,
    Vinod

    Hi Vinod,
    You can get the details from Functional Administrator responsibility, personalization tab, enter the "Document Path" like /oracle/apps/per
    and check the "Personalized" checkbox. And you can import the personalization to the file system also. More details check the Note
    The query
    begin
    jdr_utils.listcustomizations('/oracle/apps/pon/award/completion/webui/ponCompleteAward2PG');
    end;
    Will give the details for only one page.
    Thanks.
    With Regards,
    Kali.
    OSSi.

  • Oracle Access Manager Configuration : Cannot find the Person Object Class

    Hi,
    I am trying to install OAM , I am getting the following error when i am configuring the Identity server for the first time.
    1) I have installed OID. I am using one OID for both config and user data.
    2) I have installed Identity server and have modified the OID schema automically during installation.
    3) I have installed web pass.
    I have gone to the url: http://trn-ps-oid.oracle.com:7777/identity/oblix
    Here i gone to Identity System Console to configure Identity server.
    Following are the config data i have given
    Configuration DN : dc=mydomain,dc=com
    Search Base : dc=mydomain,dc=com
    Host : mypc.mydomain.com
    Port Number : 389
    Root DN : cn=orcladmin
    Root Password : *******
    Directory Server Security Mode : Open
    Is the Configuration data stored in this directory also : Yes
    Person Object Class : inetorgperson
    Auto configure objectclass : yes
    Group Object Class : groupOfUniqueNames
    Auto configure objectclass : yes
    After this I have clicked on the restart server button.
    It comes back to the page asking to enter Person Object class details.
    I Get the Error : Cannot find the Person Object Class.
    I have checked the object class in OID it is there, I have verified the connection details are also correct.
    Any Ideas what might be wrong.
    Earlier during setup i had to modify the OID schema, how do i check if this has been done.
    Any Ideas

    <?xml version="1.0" encoding="utf-8"?>
    <ValNameList
    xmlns="http://www.oblix.com"
    ListName="setup.xml">
    <NameValPair
    ParamName="mainOIS"
    Value="true"></NameValPair>
    <NameValPair
    ParamName="currentStep"
    Value="LDAP_CONFIG_CHANGES"></NameValPair>
    <NameValPair
    ParamName="status"
    Value="incomplete"></NameValPair>
    <NameValPair
    ParamName="whichDB"
    Value="OID"></NameValPair>
    <NameValPair
    ParamName="dataDirCopied"
    Value="TRUE"></NameValPair>
    <NameValPair
    ParamName="machineNo"
    Value="localhost"></NameValPair>
    <NameValPair
    ParamName="portNo"
    Value="389"></NameValPair>
    <NameValPair
    ParamName="rootDN"
    Value="cn=orcladmin,cn=Users,dc=mydomain,dc=com"></NameValPair>
    <NameValPair
    ParamName="ldapRootPasswd"
    Value="**************"></NameValPair>
    <NameValPair
    ParamName="securityMode"
    Value="Open"></NameValPair>
    <NameValPair
    ParamName="oblixUserDataSame"
    Value="Yes"></NameValPair>
    <NameValPair
    ParamName="searchBase"
    Value="dc=mydomain,dc=com"></NameValPair>
    <NameValPair
    ParamName="configDN"
    Value="dc=mydomain,dc=com"></NameValPair>
    <NameValPair
    ParamName="obClassPerson"
    Value="inetorgperson"></NameValPair>
    <NameValPair
    ParamName="defaultConfigForPersonOC"
    Value="true"></NameValPair>
    <NameValPair
    ParamName="obClassGroup"
    Value="groupOfUniqueNames"></NameValPair>
    <NameValPair
    ParamName="defaultConfigForGroupOC"
    Value="true"></NameValPair>
    <NameValPair
    ParamName="obOldClassPerson"
    Value="inetorgperson"></NameValPair>
    <NameValPair
    ParamName="obOldClassGroup"
    Value="groupOfUniqueNames"></NameValPair>
    </ValNameList>

  • Cannot find the Person Object Class

    In Identity Server installation the Person object class is not accepting this recommended object "inetOrgPerson", "User" and Organizational Person" .
    What should be the person object class be supplied to make the installation continue? Is there anything that I need to configure in Oracle fusion middleware 11g?
    thanks for the help in advance.

    Hi
    What is the directory server you are using? If you are using AD. It does not have inetOrgPerson object class.
    Person object class is custom object class created for your organization which contains all the custom attributes created according to requirement of your organization.
    Refer following document for more details,
    http://download.oracle.com/docs/cd/E10761_01/doc/oam.1014/b32419/objects.htm#BABICEFB
    Thanks
    Kiran Thakkar

  • SQL Deadlock after deleting person object in FIM portal

    Hello everybody,
    I have an issue on FIM portal after deleting person object.
    On FIM Portal, I have an error message: access denied.
    I'm on 4.1.3496.0 version.
    On event viewer, I see following deadlock:
    Microsoft.ResourceManagement.WebServices.Exceptions.UnwillingToPerformException: Other ---> System.Data.SqlClient.SqlException: Reraised Error 1205, Level 13, State 51, Procedure CalculateRequestSetTranstionsMembershipConditionEvaluation, Line 2298, Message:
    Transaction (Process ID 54) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
    at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
    at System.Data.SqlClient.SqlDataReader.get_MetaData()
    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
    at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
    at System.Data.SqlClient.SqlCommand.ExecuteReader()
    at Microsoft.ResourceManagement.Data.DataAccess.DoRequestCreation(RequestType request, Guid cause, Guid requestMarker, Boolean doEvaluation, Int16 serviceId, Int16 servicePartitionId)
    --- End of inner exception stack trace ---
    Did you ever see that ?
    Thank you.
    Antho

    There are several possibilities:
    1) Could be caused by
    multiple workflows trying to act on the object
    2) Could be a flaw in the product like happened with an older version
    (4.0.3594.2) the
    kb article says: Fixes
    an issue with SQL Server deadlocks that might occur during periods of high concurrency of requests or approvals.
    So I suggest looking at the request history -- look at the delete request and see which MPRs were applied and what workflows were spawned.
    Does this happen a lot or just once in a while?
    David Lundell, Get your copy of FIM Best Practices Volume 1 http://blog.ilmbestpractices.com/2010/08/book-is-here-fim-best-practices-volume.html

  • Regarding Lock Object

    Hi Experts,
    Can you please guide me how i can find out the lock object name. If i know the table name. is there any table which stores the table name and lock object name for that table.
    Or any function module to which i can pass table name in return i can get lock object name.
    i have to do all this by coding.
    Its very urgect.
    Thanks in advance.
    AZAD:)

    Hi
    Lock Objects Tables is: <b>DD25L</b>
    Lock objects are use in SAP to avoid the inconsistancy at the time of data is being insert/change into database.
    SAP Provide three type of Lock objects.
    - Read Lock(Shared Locked)
    protects read access to an object. The read lock allows other transactions read access but not write access to
    the locked area of the table
    - Write Lock(exclusive lock)
    protects write access to an object. The write lock allows other transactions neither read nor write access to
    the locked area of the table.
    - Enhanced write lock (exclusive lock without cumulating)
    works like a write lock except that the enhanced write lock also protects from further accesses from the
    same transaction.
    You can create a lock on a object of SAP thorugh transaction SE11 and enter any meaningful name start with EZ Example EZTEST_LOCK.
    Use: you can see in almost all transaction when you are open an object in Change mode SAP could not allow to any other user to open the same object in change mode.
    Example: in HR when we are enter a personal number in master data maintainance screen SAP can't allow to any other user to use same personal number for changes.
    Technicaly:
    When you create a lock object System automatically creat two function module.
    1. ENQUEUE_<Lockobject name>. to insert the object in a queue.
    2. DEQUEUE_<Lockobject name>. To remove the object is being queued through above FM.
    You have to use these function module in your program.
    check this link for example.
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    tables:vbak.
    call function 'ENQUEUE_EZLOCK3'
    exporting
    mode_vbak = 'E'
    mandt = sy-mandt
    vbeln = vbak-vbeln
    X_VBELN = ' '
    _SCOPE = '2'
    _WAIT = ' '
    _COLLECT = ' '
    EXCEPTIONS
    FOREIGN_LOCK = 1
    SYSTEM_FAILURE = 2
    OTHERS = 3
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    Reward points if useful
    Regards
    Anji
    Message was edited by:
            Anji Reddy Vangala

  • Regarding my object

    Hi....
    good evening..
    today iam going to explain about this object.
    this is a new object which was assigned for me before two days.
    created a report that displays open purchase order for a given plant or delivery period
    what is the selection screen for this report.
    whr are the tables used for this report.please mention fields with discription.
    what is select statement for this report.
    please provide this information.
    thanks and regards ,
    k.swaminath reddy

    Hi
    See the sample report and do accordingly
    *& Report  ZMM_PO_REPORT
    REPORT  ZMM_PO_REPORT message-Id yb
           NO STANDARD PAGE HEADING
           LINE-COUNT 60(1)
           LINE-SIZE 230.
           D A T A B A S E  T A B L E S   D E C L A R A T I O N
    TABLES: lfa1,           " Vendor Master
            t161,           " PO Doc Types
            t024,           " Purchase Groups
            ekko.           " PO Header
                   T Y P E S  D E C L A R A T I O N S
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_po,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bukrs TYPE bukrs,           " Company Code
            bsart TYPE bbsrt,           " PO Type
            lifnr TYPE lifnr,           " Vendor No
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
           END OF s_po.
    Purchase Orders History Structure
    TYPES: BEGIN OF s_account,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            gjahr TYPE mjahr,           " Fiscal Year
            belnr TYPE mblnr,           " PO Invoice No
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Local Currency
            dmbtr TYPE dmbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
            shkzg TYPE shkzg,           " Dr/Cr Indicator
           END OF s_account.
    Purchase Orders History Structure(Item Sum)
    TYPES: BEGIN OF s_inv_sum,
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            menge TYPE menge_d,         " PR Quantity
            wrbtr TYPE wrbtr,           " Price in Foreign Currency
            waers TYPE waers,           " Currency
           END OF s_inv_sum.
    Purchase Orders Main Structure
    TYPES: BEGIN OF s_rep,
            lifnr TYPE lifnr,           " Vendor No
            ebeln TYPE ebeln,           " PO No.
            ebelp TYPE ebelp,           " PO Item
            bstyp TYPE bstyp,           " PO Category
            bsart TYPE bbsrt,           " PO Type
            ekgrp TYPE bkgrp,           " Purchase Group
            waers TYPE waers,           " Currency
            bedat TYPE etbdt,           " PO Date
            txz01 TYPE txz01,           " Material Text
            werks TYPE ewerk,           " Plant
            lgort TYPE lgort_d,         " Storage Location
            matkl TYPE matkl,           " Material Group
            menge TYPE bamng,           " PR Quantity
            meins TYPE bamei,           " UOM
            bprme TYPE bbprm,           " Price Unit
            netpr TYPE netpr,           " Net price
            peinh TYPE peinh,           " Price Unit UOM
            pstyp TYPE pstyp,           " Item Category
            knttp TYPE knttp,           " Account Assignment Category
            name1 TYPE name1,           " Plant
            orewr TYPE netpr,           " To be Invoiced Price
            curr  TYPE waers,           " Inv Doc Currency
           END OF s_rep.
               D A T A  D E C L A R A T I O N S
    DATA: gv_title1 TYPE sylisel,            " Report title
          gv_dial.                           " Color flag
                C O N S T A N T S  D E C L A R A T I O N S
    CONSTANTS: c_x                VALUE 'X',   " Flag X
               c_h                VALUE 'H',   " Debit
               c_vgabe TYPE vgabe VALUE '2'.   " Transaction Type
         I N T E R N A L  T A B L E S  D E C L A R A T I O N S
    DATA: i_po    TYPE STANDARD TABLE OF s_po WITH HEADER LINE,
                                 " Purchase Order
          i_inv   TYPE STANDARD TABLE OF s_inv_sum WITH HEADER LINE,
                                         " PO Invoice Values
          i_rep   TYPE STANDARD TABLE OF s_rep WITH HEADER LINE,
                                     " PO Invoice Values
          i_ekbe  TYPE STANDARD TABLE OF s_account WITH HEADER LINE.
                               " PO Invoice Values
                     S E L E C T I O N  S C R E E N                      *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr MATCHCODE OBJECT kred,
                    s_ebeln FOR ekko-ebeln MATCHCODE OBJECT mekk,
                    s_bsart FOR t161-bsart,
                    s_ekgrp FOR t024-ekgrp,
                    s_bedat FOR ekko-bedat.
    SELECTION-SCREEN END OF BLOCK b1.
                      I N I T I A L I Z A T I O N                        *
    INITIALIZATION.
                  A T  S E L E C T I O N - S C R E E N                   *
    AT SELECTION-SCREEN.
    Validate the screen fields
      PERFORM validate_screen.
                   S T A R T - O F - S E L E C T I O N                   *
    START-OF-SELECTION.
    Fetch main data
      PERFORM fetch_data.
                   T O P - O F - P A G E                                 *
    TOP-OF-PAGE.
    Header of the List
      PERFORM header.
                   E N D - O F - P A G E                                 *
    Footer
    END-OF-PAGE.
      ULINE.
                   E N D - O F - S E L E C T I O N                       *
    END-OF-SELECTION.
    Display the Report Output data
      PERFORM display_data.
    At Line-Selection
    AT LINE-SELECTION.
    When double clicked on EBELN display the details of Purchase Doc
      PERFORM line_sel.
    *&      Form  validate_screen
    Validation of Selection Screen fields
    FORM validate_screen .
    Validation of Vendor Number
      CLEAR lfa1-lifnr.
      IF NOT s_lifnr[] IS INITIAL.
        SELECT lifnr UP TO 1 ROWS
            INTO lfa1-lifnr
            FROM lfa1
            WHERE lifnr IN s_lifnr.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Vendor'(002).
        ENDIF.
      ENDIF.
    Validation of PO Number
      CLEAR ekko-ebeln.
      IF NOT s_ebeln[] IS INITIAL.
        SELECT ebeln UP TO 1 ROWS
            INTO ekko-ebeln
            FROM ekko
            WHERE ebeln IN s_ebeln.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Document Number'(003).
        ENDIF.
      ENDIF.
    Validation of PO Document Type
      CLEAR t161-bsart.
      IF NOT s_bsart[] IS INITIAL.
        SELECT bsart UP TO 1 ROWS
            INTO t161-bsart
            FROM t161
            WHERE bsart IN s_bsart.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchase Document Type'(004).
        ENDIF.
      ENDIF.
    Validation of Purchasing Group
      CLEAR t024-ekgrp.
      IF NOT s_ekgrp[] IS INITIAL.
        SELECT ekgrp UP TO 1 ROWS
            INTO t024-ekgrp
            FROM t024
            WHERE ekgrp IN s_ekgrp.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000 WITH 'Invalid Purchasing Group'(005).
        ENDIF.
      ENDIF.
    ENDFORM.                    " validate_screen
    *&      Form  fetch_data
    Fetching the PO related data from Database Tables
    FORM fetch_data .
      CLEAR i_po.
      REFRESH i_po.
      SELECT a~ebeln            " PO No.
             b~ebelp            " PO Item
             a~bstyp            " PO Category
             a~bukrs            " Company Code
             a~bsart            " PO Type
             a~lifnr            " Vendor No
             a~ekgrp            " Purchase Group
             a~waers            " Currency
             a~bedat            " PO Date
             b~txz01            " Material Text
             b~werks            " Plant
             b~lgort            " Storage Location
             b~matkl            " Material Group
             b~menge            " PR Quantity
             b~meins            " UOM
             b~bprme            " Price Unit
             b~netpr            " Net price
             b~peinh            " Price Unit UOM
             b~pstyp            " Item Category
             b~knttp            " Account Assignment Category
        INTO TABLE i_po
        FROM ekko AS a JOIN ekpo AS b
        ON a~ebeln = b~ebeln
        WHERE a~ebeln IN s_ebeln AND
              a~lifnr IN s_lifnr AND
              a~ekgrp IN s_ekgrp AND
              a~bsart IN s_bsart AND
              a~bedat IN s_bedat.
      SORT i_po BY ebeln ebelp.
      break-point.
      IF NOT i_po[] IS INITIAL.
    Fetch the PO History/Invoice Details from EKBE Table
        CLEAR i_ekbe.
        REFRESH i_ekbe.
        SELECT ebeln           " PO No.
               ebelp           " PO Item
               gjahr           " Fiscal Year
               belnr           " PO Invoice No
               menge           " PR Quantity
               wrbtr           " Price in Local Currency
               dmbtr           " Price in Foreign Currency
               waers           " Currency
               shkzg           " Dr/Cr Indicator
         INTO TABLE i_ekbe
         FROM ekbe
         FOR ALL ENTRIES IN i_po
         WHERE ebeln = i_po-ebeln AND
               ebelp = i_po-ebelp AND
               vgabe = c_vgabe.
      break-point.
        IF sy-subrc = 0.
          SORT i_ekbe BY ebeln ebelp.
          LOOP AT i_ekbe.
            IF i_ekbe-shkzg = c_h.
              i_ekbe-wrbtr = i_ekbe-wrbtr * -1.
            ENDIF.
            MODIFY i_ekbe.
          ENDLOOP.
      break-point.
    Sum up the Item wise Invoice totals
          LOOP AT i_ekbe.
            AT END OF ebelp.
              READ TABLE i_ekbe INDEX sy-tabix.
              SUM.
              MOVE-CORRESPONDING i_ekbe TO i_inv.
              APPEND i_inv.
            ENDAT.
            CLEAR i_inv.
          ENDLOOP.
          SORT i_inv BY ebeln ebelp.
            break-point.
        ENDIF.
      ENDIF.
    Move the Vendor Name and Invoice Values to I_rep Internal Table
      LOOP AT i_po.
        MOVE-CORRESPONDING i_po TO i_rep.
        CLEAR i_inv.
        READ TABLE i_inv WITH KEY ebeln = i_po-ebeln
                                  ebelp = i_po-ebelp.
        IF sy-subrc = 0.
          i_rep-orewr = ( i_po-menge - i_inv-menge ) * i_po-netpr.
          i_rep-curr  = i_inv-waers.
        ELSE.
          i_rep-orewr = i_po-menge * i_po-netpr.
          i_rep-curr  = i_po-waers.
        ENDIF.
      break-point.
    Get the Vendor Name
        CLEAR lfa1-name1.
        SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
          WHERE lifnr = i_po-lifnr.
        IF sy-subrc = 0.
          i_rep-name1  = lfa1-name1.
        ENDIF.
        APPEND i_rep.
        CLEAR  i_rep.
          break-point.
      ENDLOOP.
      SORT i_rep BY lifnr ebeln ebelp.
      DELETE i_rep WHERE orewr LE 0.
      break-point.
    ENDFORM.                    " fetch_data
    *&      Form  display_data
    Display the Report Output data
    FORM display_data .
      DATA: lv_flag,               " New Flag
            lv_rec TYPE i.         " No of Records
      CLEAR lv_rec.
      IF i_rep[] IS INITIAL.
        MESSAGE e000 WITH 'No Data found'(022).
      ELSE.
        LOOP AT i_rep.
    Toggle Color
          PERFORM toggle_color.
          IF lv_flag <> space.
            NEW-LINE.
          ENDIF.
    At New Purchase Document
          AT NEW ebeln.
            WRITE:/1 sy-vline, 2(10) i_rep-ebeln INTENSIFIED OFF.
            lv_flag = c_x.
            lv_rec = lv_rec + 1.
          ENDAT.
          WRITE: 1 sy-vline,
                12 sy-vline,13(4)   i_rep-bsart,
                17 sy-vline,18(10)  i_rep-lifnr,
                28 sy-vline,29(35)  i_rep-name1,
                64 sy-vline,65(4)   i_rep-ekgrp,
                69 sy-vline,70(10)  i_rep-bedat,
                80 sy-vline,81(5)   i_rep-ebelp,
                86 sy-vline,87(40)  i_rep-txz01,
               127 sy-vline,128(9)  i_rep-matkl,
               137 sy-vline,138(1)  i_rep-pstyp,
               139 sy-vline,140(1)  i_rep-knttp,
               141 sy-vline,142(4)  i_rep-werks,
               146 sy-vline,147(4)  i_rep-lgort,
               151 sy-vline,152(13) i_rep-menge UNIT i_rep-meins,
               165 sy-vline,166(3)  i_rep-meins,
               169 sy-vline,170(15) i_rep-netpr CURRENCY i_rep-waers,
               185 sy-vline,186(4)  i_rep-waers,
               190 sy-vline,191(5)  i_rep-peinh,
               196 sy-vline,197(4)  i_rep-bprme,
               201 sy-vline,202(15) i_rep-orewr CURRENCY i_rep-curr,
               217 sy-vline,218(4)  i_rep-curr,
               222 sy-vline,223(7)  i_rep-bstyp centered,
               230 sy-vline.
          NEW-LINE.
          hide: i_rep-ebeln.
        ENDLOOP.
        ULINE.
        FORMAT COLOR OFF.
        WRITE : /2 'Total Number of Purchasing Documents:'(025) COLOR 3,
                    lv_rec COLOR 3.
      ENDIF.
    ENDFORM.                    " display_data
    *&      Form  header
    Write the Report Header
    FORM header .
      FORMAT RESET.
    header
      WRITE:/1(230) 'LIST OF PURCHASE DOCUMENTS PER VENDOR'(006) CENTERED.
      SKIP.
      FORMAT COLOR COL_HEADING.
      ULINE.
      WRITE:/1 sy-vline,2(10)   'Pur.Doc.No'(006) CENTERED,
            12 sy-vline,13(4)   'Type'(007),
            17 sy-vline,18(10)  'Vendor'(008) CENTERED,
            28 sy-vline,29(35)  'Name'(009) CENTERED,
            64 sy-vline,65(4)   'PGrp'(010) CENTERED,
            69 sy-vline,70(10)  'Doc.Date'(012) CENTERED,
            80 sy-vline,81(5)   'Item'(011),
            86 sy-vline,87(40)  'Material Short Text'(024) CENTERED,
           127 sy-vline,128(9)  'Mat.Group'(013),
           137 sy-vline,138(1)  'I',
           139 sy-vline,140(1)  'A',
           141 sy-vline,142(4)  'Plnt'(014),
           146 sy-vline,147(4)  'SLoc'(015),
           151 sy-vline,152(13) 'Quantity'(016) CENTERED,
           165 sy-vline,166(3)  'UoM'(017),
           169 sy-vline,170(15) 'Net Value'(018) CENTERED,
           185 sy-vline,186(4)  'Curr'(019),
           190 sy-vline,191(5)  'Per'(020),
           196 sy-vline,197(4)  'Unit'(021),
           201 sy-vline,202(15) 'To be Invoiced'(023) CENTERED,
           217 sy-vline,218(4)  'Curr'(019),
           222 sy-vline,223(7)  'Doc.Cat'(026),
           230 sy-vline.
      ULINE.
    ENDFORM.                    " header
    *&      Form  toggle_color
    This routine alters the color of the records in the list
    FORM toggle_color.
      IF gv_dial = space.
        FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
        gv_dial = c_x.
      ELSE.
        FORMAT COLOR 1 INTENSIFIED OFF.
        CLEAR gv_dial.
      ENDIF.
    ENDFORM.                    " toggle_color
    *&      Form  LINE_SEL
    *When double clicked on EBELN field display the details of Purchase Doc
    FORM line_sel.
      CASE sy-lsind.
        WHEN '1'.
          DATA: lv_field(20),
                lv_value(10),
                lv_bstyp like i_rep-bstyp.
          clear: lv_bstyp,lv_value, lv_field.
          GET CURSOR FIELD lv_field VALUE lv_value.
          IF lv_field = 'I_REP-EBELN'.
            IF NOT lv_value IS INITIAL.
              READ LINE sy-index FIELD VALUE i_rep-bstyp
                                       INTO  lv_bstyp.
             READ CURRENT LINE FIELD VALUE i_rep-bstyp INTO lv_bstyp.
              if lv_bstyp = 'F'.
                SET PARAMETER ID 'BES' FIELD lv_value.
                CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
              elseif ( lv_bstyp = 'K' or lv_bstyp = 'L' ).
                SET PARAMETER ID 'VRT' FIELD lv_value.
                CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
              elseif lv_bstyp = 'A'.
                SET PARAMETER ID 'ANF' FIELD lv_value.
                CALL TRANSACTION 'ME43' AND SKIP FIRST SCREEN.
              endif.
            ENDIF.
          ENDIF.
      ENDCASE.
    ENDFORM.                    " line_sel
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Regarding Info Object Activation

    Hi Friends,
    I am activating the info object 0cm_ctar.
    while activating it is giving the below error.
    Characteristic 0CM_CTAR: Unit 0UNIT_DIM no allowed in compounding
    Message no. R7B641
    Diagnosis;
    If the characteristic is used in an InfoProvider with dimensions (for example, an InfoCube or MultiProvider), the compounded unit is not unique if currency key figures are used at the same time.
    System Response
    This type of modeling is not supported.
    Procedure
    Replace the currency with a different characteristic. If you nevertheless want to use a unit in the compounding, you should use the modeling of a characteristic that semantically represents a unit. To do so, copy the technical properties of the unit of measure or the currency.
    could you please guide me wht should i do now?
    Regards,
    ramnaresh.

    Hi,
    Remove the infoobject 0UNIT_DIM from the compounding tab and activate. Or define another infoobject similar to 0UNIT_DIM and replace the 0UNIT_DIM in the compounding tab.
    Regards,
    Dinesh D

Maybe you are looking for

  • DispatchEvent and sending parameters

    Hi, I have a game with two joysticks and I use the dispatchEvent command to send the fire button event. What would be a good way to send the number of the joystick to check who pressed the fire button. A bit dirty way would be to save just the number

  • Registry Based Discoverying not working

    Good day, I try to discovery a server which has a unique / special registry key (service name) . not sure why the discoverying is not working... Here is the xml of the management pack <?xml version="1.0" encoding="utf-8"?> <ManagementPack SchemaVersi

  • Jerky audio/video - Flash not working with Windows 7?

    All of a sudden I am unable to view YouTube or any other audio/videos incoming.  Is it my Adobe Flash Player?  It was working up until a couple of weeks ago.  Help!

  • Want to hide mouse, then show it when new swf file opens above the movie?

    Hi, I am using a magnifying glass animation for my portfolio and I want he mouse cursor to hide, which I can work out with: Mouse.hide() But when someone clicks on a section it then loads a swf file above the original movie so I then want the mouse c

  • Play swf's in a row and loop

    Okay, I had some diffuculties with some swf's which were created in Indesign; but thanks to this forum (kglad) I got it worked out. It seemed that I needed to work in AS3... I want to play four swf's in a loop ín AS3, I can handle this with AS2 but I