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
IFFHi,
I would reconmend to open an OSS message about this error.
Martin -
hi,
Anyone have any idea about POWL(Personal Objects Worklist) in BI ?
Useful answers will be rewarded.
Regards,
Sangeetha.AHi,
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 youve 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 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 youve 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. -
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.
BDHi,
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,
SivaHi 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,
VinodHi 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.
AnthoThere 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 -
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 -
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 reddyHi
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
-
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