Authorization to CATS_DA report
Hi All,
I have a requirement from the client. The Org unit managers will approve timesheets of the employees in their Org Unit. But there are Project Managers who require access to view the timesheet of employees in CATS_DA report in CATS.
A project might comprise of People from different Org Units. Project Manager of a particular project should be given access to view the timesheets of those employees alone in CATS_DA report. They should not be allowed to view timesheets from other projects.
Similarly Project Controller will manage multiple Projects and he should have access to employees timesheets of all those projects.
For Ex: Org Unit A has 5 employees and Org Unit B has 7 employees. The project has 2 persons from Org unit A and 3 persons from Org Unit B. The Project Manager of this Project who is from Org Unit B should have access to the timesheets of these 5 employees only and should not have access to rest of the employees.
How this requirement can be addressed? Appreciate you help.
Many Thanks!
Nels
Here are my questions, are you able to see the relationship of Project managers and their direct reports and also the Project controller's relationship to individual groups in your PPOSE?
If that is well defined, the workflow can accomodate the relationship in the structure.
could you please check that?
Thanks
Ranjani
Similar Messages
-
CATS_DA Report Authoraization
Can some body guide me how to restricts CATS_DA T.code authorization at org. unit level.
Here my requirement is when ever Org. unit chief execute this report he/she suppose to see his own employee data but not other org. unit employees data. So I would like to restrict this report using organization unit.
Very great help for me if some body provide me solution on ASAP.Hi Rajesh,
You can restrict the access to CATS_DA Report using the authorization object P_CATSXT
Please create a role using PFCG and add this auth object manually and in the field name ORGEH - Organizational Unit,
you can have different values for different Org. units. Ideally you would create different roles for different Org.units
Go to PFCG
1.Create a Role
2. Edit the role and click on the ICON Manually.
3. Add the authorization object P_CATSXT
4. Provide values for Org.units (say 1000)
5. Assign the role only to those users whom you want to restrict with Org.unit 1000. -
Hi Gurus,
While executing the program S_ALR_87013105 (Detailed Reports
For Sales Order : Plan/Actual Comparison ) system showing the selection log.
"Have no authorization for the report/table 7KU6_001 and 7KU6_002".
But for the user the authorization check through SU53 was successful.
Pl can any one suggest on this issue.
Thanks in advance,
VijayHi,
Contact your basis consultant to provide the missing authorisation. This is one of the authorisation object.
Regards,
Sankar -
Authorization to FBL5N report .
Hi All,
Plz help me.
I need to put authorization on FBL5N report on basis Customers.
eg. a person in Mumbai(mumbai branch) should not be able to view data of customers in Goa(Goa branch).
Thanks.
Points will be granted for effective answers.
Bye.hi,
branch means business area for you? than you can make it easily addign the proper values to auth object F_BKPF_GSB
ec -
Cant use more than one authorization group per report with SBO CR Basic
Cant use more than one authorization group per report with SBO CR Basic.
I have installed on SAP Business One SBO 2007 SP00 PL49 the Crystal Reports Basic 2.0.0.7.
i have defined two users, manager and supervisor.
I have defined two groups, M and S.
Manager belongs in managers (M), and supervisor is assigned to the supervisors (S).
i enter to one report, disable the public option to enable group authorization, and then check M group.
Manager can see the report, but Supervisor is not allowed. So far good.
Then i uncheck M, then check S in the report properties, and Manager cant get in, supervisor opens the report, So far good.
But when we check both Groups or more, only the M group authorization appears to work, and S group users cant acess, even the report is allowed for that group, also happens with all the groups appart the first (2nd, 3rd, 4th, etc.).
It seems that a report can manage a single group, but i have to be shure to tell this to the customer.
So far we have included all Manager users to the S group in order that only S group is used and authorized users can use, but this is duplicating user participation in groups, and it would be much easier to check the desired groups for a single report.Cant use more than one authorization group per report with SBO CR Basic.
I have installed on SAP Business One SBO 2007 SP00 PL49 the Crystal Reports Basic 2.0.0.7.
i have defined two users, manager and supervisor.
I have defined two groups, M and S.
Manager belongs in managers (M), and supervisor is assigned to the supervisors (S).
i enter to one report, disable the public option to enable group authorization, and then check M group.
Manager can see the report, but Supervisor is not allowed. So far good.
Then i uncheck M, then check S in the report properties, and Manager cant get in, supervisor opens the report, So far good.
But when we check both Groups or more, only the M group authorization appears to work, and S group users cant acess, even the report is allowed for that group, also happens with all the groups appart the first (2nd, 3rd, 4th, etc.).
It seems that a report can manage a single group, but i have to be shure to tell this to the customer.
So far we have included all Manager users to the S group in order that only S group is used and authorized users can use, but this is duplicating user participation in groups, and it would be much easier to check the desired groups for a single report. -
Problem in CATS_DA Report output
Hi Friends.
Few days back I added one custom field in CI_CATSDB structure to bring additional field in CAT2 screen.Its working fine and reflected the field in CATSDB table also.
But when I run CATS_DA Report, I can able to view the field in development and Quality system.But that field is not coming in production system.I checked transport sequence also.Everything looks good.But I am not able to figure out this issue.
Why its not coming in PRD.
Thanks
GowrishankarHello Sir,
Please have a look at BADI CATS_REPORTING. This BADI influences CATS_DA and CATS_APPR_LITE reports. Probably, the code is different among your systems.
Regards,
Bentow. -
Adding authorization objects to Report Painter reports
Hello Everyone,
Is there way to add authorization objects to report painter reports ? I know it is possible to add auth group at the header level but I need to limit access at run time to specific objects, say for example, Cost Center. Is this possible ?
I have seen the Get_Reporter.pdf document and it seems to discusses adding auth group but not auth objects.
Thanks in advance.
Dorothyhi
good
use this tcode to create authorization
SU21 Maintain Authorization Objects
this link ll give you idea to create the authorization object for the report painter.
http://www.virtuosollc.com/PDF/Get_Reporter.pdf
Award points if helpful.
thanks
mrutyun -
CAT2 issue- CATS_DA report
Hello,
Request your inputs for one my query below -
I have deleted time off for a personnel number from a WBS element and re entered to some other WBS element in November 2011 and when I checked the CATS_DA report on the Receving WBS, it showed me the costs have been moved.
But, however the cost for this time does not appear to have been moved from the original project (Sender project). When I check the CJI3 report for sender project, their is still actual costs on the same WBS element.
Please let me know, what could be the reason for this?
Thanks for your inputs.
Regards,
SumanthHi Gokul,
Thanks for your response.
After I deleted the hours on the old WBS, I ran CAT2 to re-enter the time to the new WBS element.
I believe, by deleting the time on old WBS and re-entering the time on new WBS, the costs would automatically flow to the new WBS (please correct me if I am wrong, this is because, I have just started working on CATS). This is in response to your 2nd sentence- Gokul.
Hi Pramod,
There are no background jobs are in action for this. It is all manual activity. You said there can be some problem with the deleted time transfer to target component, what could be it is?
Please let me know for any other clarification.
Regards,
Sumanth -
Query : Authorization check for reports in report writer
Hello,
I want to secure reports created form report writer.
How can I give separate Authorization to users, so that they are restricted only to display or for changing or for creating.
Thank you in advance.Hi Naveen,
Here is wonderful thread which can solve your issue.
Authorization in my report
Regards,
Ganesh
****Reward points if Helpful***** -
Hi
I have made one report, I needed to check the authorization for the report, how to do it.
Eg. One employee is executing the report, he only needed to select his transaction
If somebody from one sales organisation, they only needed to take the data belongs to the sales office.
SELECT-OPTIONS: p_vkorg FOR tvkot-vkorg.
SELECT-OPTIONS: p_pernr FOR pa0001-pernr
for example two selection parameter is displaying. if my employee no is 100, while trying to enter execute the report for 200 employee no. no data should show. like that vkorg filed also should work.
Please let me know how it possible.
Regards
Sebastian JohnHi,
You can change the code below
*---Authorization for Company code entered by the users.
*---This code will restrict users to see data for company
*---codes which they are not authorized to.
*---Select all the company codes based upon selection entered by the
*---user
SELECT bukrs
FROM t001
INTO TABLE li_bukrs
WHERE bukrs IN z_bukrs.
IF sy-subrc EQ 0.
*---Clear Screen variable for Company code
CLEAR z_bukrs.
REFRESH z_bukrs.
*---Filter and prepare Select options for Company code table to be
*---passed to query. Table will only have values of company codes he is
*---authorized to for display.
LOOP AT li_bukrs INTO lwa_bukrs.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
ID 'BUKRS' FIELD lwa_bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc = 0.
z_bukrs-sign = 'I'.
z_bukrs-option = 'EQ'.
z_bukrs-low = lwa_bukrs.
z_bukrs-high = space.
APPEND z_bukrs.
ELSE.
lv_flag = 'X'.
ENDIF.
ENDLOOP.
*---Give warning message to the user in case he is not authorized to see
*---data for all the company codes that he has entered.
IF lv_flag = 'X'.
MESSAGE ID 'ZFNG' TYPE 'W' NUMBER '015'.
ENDIF.
ENDIF.
This code does an authorization check at company code level and removes all the company codes that user has entered but is not authorized to look for. After that we pass the filtered list of company codes for which user is authorized to in the select query and fetch the results. You can first select all the records from database for PERNR and VKORG. Then filter them and prepare new list of VKORG and PERNR after performing authorization check and pass it further to select queries in your program.
KR Jaideep, -
Hi All,
I am new to BI Authorizations. In my Project there are 150 Users are there.So for each user,Authorization Object
is created in RSECADMIN and Roles are created in PFCG Tcode.
Initially we have created 9 Reports and it is running in BI PRD. In all 9 reports we are using the Info Object
"0CRM_PRCTYP - Business Transaction Type" and Authorization Relvent is Unchecked in this Case.
Now the Client wants some more reports and need to provide Authorization for this Field "0CRM_PRCTYP - Business
Transaction Type".And these new reports will be used by "New Users".
So i have Checked the Authorization Relvent for the Info Object "0CRM_PRCTYP - Business Transaction Type" and
Created Authorization Variable in Reporting Level.After doing this, I have executed the report by logging with new
Users and it is working fine for new reports.
Then i have checked the Old reports (9 Reports) ion RSRT and found that the error "NO AUTHORIZATION" for all 150
users.
Can you please help me how to rectify this error.
Thanks,
Jelina.Hello Jelina,
First, try to check the reports by running them with the user account in transaction RSECADMIN -> tab Analysis -> Execute as user.
If this will return an error please go with transaction SU53 and check what role/authorisation has generated the error. Afterwards, launch PFCG, go to Authorisation tabs, Display authorisation and add the reports BOTH under -> Business Warehouse-> Business Explorer Components and ->Business Warehouse -> Business Explorer Components - Enhancement to the Owner.
After this press the Generate button (looking like nuclear hazard but in red&white) and SAVE. Go to the TAB Users in PFCG and press the button USER COMPARISON and afterwards SAVE.
Now it should work. Let us know if you still have problems.
br,
Dan -
Authorization of alv report based on plants
I have created a new alv report for sale order statement.The problem is which can be seen in all plants
irespective of the user.Suppose our company has 5 palnt
Plant 1100 to 1500
The problem is suppose a user he has only rights in a prticular plant but he can see all the palnt sale order details
How can we authorize this particular alv report based on the plantsHello,
My assumption: You have Company Code(T001-BUKRS) in the selection-screen.
Plz check the code snippet below:
DATA:
IT_PLANT TYPE STANDARD TABLE OF WERKS,
WA_PLANT LIKE LINE OF IT_PLANT.
DATA:
IT_R_WERKS TYPE RANGE_T_WERKS_D,
R_WERKS TYPE RANGE_S_WERKS_D.
SELECT BWKEY INTO TABLE IT_PLANT
FROM T001K
WHERE BUKRS = '1000'. "--> Here you have to use your sel. scr. parameter
IF SY-SUBRC = 0.
SORT IT_PLANT BY WERKS.
ENDIF.
LOOP AT IT_PLANT INTO WA_PLANT.
* Check the authority for the plant
AUTHORITY-CHECK OBJECT 'M_MSEG_WMB'
ID 'ACTVT' FIELD '03'
ID 'WERKS' FIELD WA_PLANT-WERKS.
IF SY-SUBRC = 0.
R_WERKS-SIGN = 'I'.
R_WERKS-OPTION = 'EQ'.
R_WERKS-LOW = WA_PLANT-WERKS.
APPEND R_WERKS TO IT_R_WERKS.
CLEAR R_WERKS.
ENDIF.
ENDLOOP.
IF IT_R_WERKS IS NOT INITIAL.
"Select data using the Plants for which user is authorised
ELSE.
"User has no authority to display any Plant data
ENDIF.
Hope this is of some help to you.
BR,
Suhas
Edited by: Suhas Saha on Mar 18, 2009 10:18 AM -
BI 7.0 Analysis Authorization issue: some reports displaying a blank page.
Hi All,
This is regarding BI 7.0 Analysis Authorization issue.
Overview:
we have restricted some queries at infoobject level.
Issue:
a. For some of the queries, we can see the selection screen but when we try to execute the query by clicking on the execute button (Queries WAD) we get a blank page, meaning nothing is displayed on the output (white/Blank screen).
b. When we execute the same query through RSRT, we get a message which says "Disconnecting from BW server..".
c. Let me explain further on this. Basically we are doing this in order to have limited access to Auditors at the client side. At the same time normal users should not get impacted due to this, hence we created two roles. One for normal users and other for Auditors.
d. Now the thing is that we execute the same report with normal user ID's the report executes properly and displays the output. it does not show the blank page.
e. But when we execute the same report with Auditors ID then we get a blank page.
Any idea why this is so?Hi Neha,
I tried the below also,
GL Acnt
I EQ 0000134010
I EQ :
but still it didn't work.
No Infoobject is missing in Authorization Object.
For your point, "rsecadmin - > analysis -> execute as -> check for the desired user & analyze the log" it didnu2019t allow me to analyze, since as soon as click on execute button a pop-up comes up saying "Disconnecting from the BW server..."
As mentioned earlier also it is giving me the below message,
""I>> Row: 103 Inc: AUTHORITY_02 Prog: CL_RSR_RRK0_AUTHORIZATION RS_EXCEPTION 301CL_RSR_RRK0_AUTHORIZATION AUTHORITY_02"
Kindly suggest, since this is a show-stopper for us!
Thanks,
Ishdeep Kohli. -
Hello everyone,
I have an ALV report with a radiobutton in the selection screen. This radiobutton has 4 options(for example): Office A, Office B, Office C, Office D.
When i choose Office C, the ALV will report data concerning only to this Office (all fields in the table are common to all Offices).
But besides this, i would like to check at the beginning if the user trying to access the ALV report is from Office A,B, C or D. If he is from Office B, he should only have access to ALV with radiobutton chosen to Office B.
Can anyone help me with a suggestion ?
I read something about authorization groups. Is this an option here ?Here is a sample code with similar functionality... Using this to develop your logic....
Type pools Declaration..............................................*
TYPE-POOLS SLIS. " Global types
Range tables........................................................*
RANGES R_LIFEX FOR LIKP-LIFEX. " External Identification of
" Delivery note
selection screen elememts...........................................*
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-009.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:
P_OPEN RADIOBUTTON GROUP R1 DEFAULT 'X'.
" Open orders
SELECTION-SCREEN COMMENT (20) TEXT-001 FOR FIELD P_OPEN.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:
P_PREPAY RADIOBUTTON GROUP R1. " Prepay orders
SELECTION-SCREEN COMMENT (20) TEXT-002 FOR FIELD P_PREPAY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B1.
Constants variables.................................................*
CONSTANTS:
C_L TYPE C VALUE 'L', " SD document object
C_J TYPE C VALUE 'J', " SD document category
C_A TYPE C VALUE 'A', " Status of Not yet processed
C_B TYPE C VALUE 'B', " Status of Partially processed
C_LF(2) TYPE C VALUE 'LF', " Delivery Type
C_E TYPE C VALUE 'E', " Language
C_TON(3) TYPE C VALUE 'TON', " Material unit
C_TO(2) TYPE C VALUE 'TO', " Material unit
C_X TYPE C VALUE 'X', " Parameter value
C_I TYPE C VALUE 'I', " Sign
C_CP(2) TYPE C VALUE 'CP', " Option
C_PP1(3) TYPE C VALUE 'PP*', " Prepay order
C_PP2(3) TYPE C VALUE 'pP*', " Prepay order
C_PP3(3) TYPE C VALUE 'pp*', " Prepay order
C_PP4(3) TYPE C VALUE 'Pp*', " Prepay order
C_0 TYPE C VALUE '0', " Zero
C_UREA(40) TYPE C VALUE 'UREA(GRANULAR)',
" Material name
C_30%(3) TYPE C VALUE '30%', " Material name
C_32%(3) TYPE C VALUE '32%', " Material name
C_28%(3) TYPE C VALUE '28%', " Material name
C_NH3(3) TYPE C VALUE 'NH3', " Material name
C_AN(3) TYPE C VALUE 'AN', " Material name
C_UAN(3) TYPE C VALUE 'UAN', " Material name
C_30(2) TYPE C VALUE '30', " Output length
C_20(2) TYPE C VALUE '20', " Output length
C_1_102311 TYPE P DECIMALS 6 VALUE '1.102311',
" Conversion factor
Begin of Deletion CS1K931253
C_METHANOL(40) TYPE C VALUE 'METHANOL',
" Material name
End of Deletion CS1K931253
C_TOP_OF_PAGE(15) TYPE C VALUE 'TOP_OF_PAGE',
" Top of page event
C_BEFORE_LINE_OUTPUT(25) TYPE C VALUE 'BEFORE_LINE_OUTPUT',
" Before line output event
C_END_OF_LIST(15) TYPE C VALUE 'END_OF_LIST',
" End of list
Begin of Insertion CS1K931253
C_OPEN(4) TYPE C VALUE 'OPEN',
" Open orders
C_PREPAY(6) TYPE C VALUE 'PREPAY'.
" Prepay orders
End of Insertion CS1K931253
Working Variable declarations *
DATA:
W_NUMBER TYPE I, " Plant number
W_INDEX TYPE SY-TABIX VALUE '1', " Table Index
W_MATNR TYPE LIPS-MATNR, " Material Number
Begin of Deletion - CS1K931253
W_LFIMG TYPE LIPS-LFIMG, " Actual quantity delivered
W_TOTAL32 TYPE LIPS-LFIMG, " Actual quantity delivered
End of Deletion - CS1K931253
W_LFIMG TYPE P DECIMALS 3, " Actual quantity delivered
W_TOTAL32 TYPE P DECIMALS 3, " Actual quantity delivered
W_INCR TYPE I VALUE 5, " Increment variable
W_PRDCT(40) TYPE C, " Product Name
Field string Declarations *
*Field string to hold open delivery quantities
BEGIN OF FS_OPEN_DEL,
VTEXT TYPE TVSTT-VTEXT, " Plant name
MAT_NUM TYPE I, " Plant Number
PRDCT(40) TYPE C, " Product Name
QTYA TYPE LIPS-LFIMG, " Quantity moved by Truck
QTYB TYPE LIPS-LFIMG, " Quantity moved by Rail
QTYC TYPE LIPS-LFIMG, " Quantity moved by Barge
QTYD TYPE LIPS-LFIMG, " Quantity moved by Pipe
QTYE TYPE LIPS-LFIMG, " Quantity moved by Vessel
QTYT TYPE LIPS-LFIMG, " Total Quantity moved
QTYG TYPE LIPS-LFIMG, " Quantity moved by
VRKME TYPE LIPS-VRKME, " Sales unit
END OF FS_OPEN_DEL,
*Field string to hold open deliveries
BEGIN OF FS_LIKPUK,
VBELN TYPE LIKP-VBELN, " Delivery
END OF FS_LIKPUK,
*Field string to hold Ship point description
BEGIN OF FS_TVSTT,
VSTEL TYPE LIKP-VSTEL, " Plant
VTEXT TYPE TVSTT-VTEXT, " Plant Name
END OF FS_TVSTT,
*Field string to hold delivery item documents data
BEGIN OF FS_LIPS,
VBELN TYPE LIKP-VBELN, " Delivery
POSNR TYPE LIPS-POSNR, " Item
MATNR TYPE LIPS-MATNR, " Material Number
LFIMG TYPE LIPS-LFIMG, " Quantity delivered
VRKME TYPE LIPS-VRKME, " Sales unit
END OF FS_LIPS,
*Field string to hold delivery header documents data
BEGIN OF FS_LIKP,
VBELN TYPE LIKP-VBELN, " Delivery
VSTEL TYPE LIKP-VSTEL, " Plant
VSBED TYPE LIKP-VSBED, " Shipping Condition
END OF FS_LIKP,
Field string to hold Plants and its delivered quantities
BEGIN OF FS_DEL_QUAN,
PRODNAME(40), " Product Name
VTEXT TYPE TVSTT-VTEXT, " Plant
VSBED TYPE LIKP-VSBED, " Shipping Condition
LFIMG TYPE LIPS-LFIMG, " Delivered quantity
VRKME TYPE LIPS-VRKME, " Sales unit
END OF FS_DEL_QUAN,
Field String to hold material text
BEGIN OF FS_MAKT,
MATNR TYPE MAKT-MATNR, " Material Number
MAKTX TYPE MAKT-MAKTX, " Material text
END OF FS_MAKT,
FS_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
FS_EVENTS TYPE LINE OF SLIS_T_EVENT.
Internal Table Declarations *
DATA:
Table to hold open delivery quantities
T_OPEN_DEL LIKE STANDARD TABLE
OF FS_OPEN_DEL,
Table to hold open deliveries
T_LIKPUK LIKE STANDARD TABLE
OF FS_LIKPUK,
Table to hold Ship point description
T_TVSTT LIKE STANDARD TABLE
OF FS_TVSTT,
Table to hold delivery item documents data
T_LIPS LIKE STANDARD TABLE
OF FS_LIPS,
Table to hold delivery item documents data
T_LIPS2 LIKE STANDARD TABLE
OF FS_LIPS,
Table to hold delivery header documents data
T_LIKP LIKE STANDARD TABLE
OF FS_LIKP,
Table to hold delivery header documents data
T_LIKP2 LIKE STANDARD TABLE
OF FS_LIKP,
Table to hold Plants and its delivered quantities
T_DEL_QUAN LIKE STANDARD TABLE
OF FS_DEL_QUAN,
Table to hold Material text
T_MAKTX LIKE STANDARD TABLE
OF FS_MAKT,
Field catalog...
T_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
Events...
T_EVENTS TYPE SLIS_T_EVENT.
START-OF-SELECTION *
START-OF-SELECTION.
Retrives Open deliveries
PERFORM GET_DELS.
Retrives Open delivery data
PERFORM GET_ORDER_DATA.
Retrives Delivery item data
PERFORM GET_ITEM_DATA.
Gets Plant description
PERFORM GET_SHIPPOINT_TEXT.
Fetch Material description.
PERFORM GET_MATTEXT.
Connects Plant and products delivered by it
PERFORM CONNECT_PLANT_PRODUCT_DATA.
Sums up quantities based on Shipping condition
PERFORM COLLECT_DATA_BY_SHIPTYPE.
Changing UAN 28% to UAN 32%
PERFORM CHANGE_UAN.
END-OF-SELECTION *
END-OF-SELECTION.
Displays the data
PERFORM DISPLAY_DATA.
Form GET_DELS
This subroutine gets all open deliveries
No Parameter interface
FORM GET_DELS.
*Get all open deliveries
SELECT VBELN " Delivery
APPENDING TABLE T_LIKPUK
FROM VBUK
PACKAGE SIZE 5000
WHERE ( WBSTK = C_A OR WBSTK = C_B )
AND VBTYP = C_J
AND VBOBJ = C_L.
ENDSELECT.
IF SY-SUBRC NE 0.
MESSAGE I280(LF).
STOP.
ENDIF. " IF SY-SUBRC NE 0.
ENDFORM. " GET_DELS
Form GET_ORDER_DATA
This subroutine gets delivery header data
No Parameter interface
FORM GET_ORDER_DATA .
IF P_PREPAY EQ C_X.
Fill the Pattern required as pp, any case.
REFRESH R_LIFEX.
R_LIFEX-SIGN = C_I.
R_LIFEX-OPTION = C_CP.
R_LIFEX-LOW = C_PP1.
APPEND R_LIFEX.
R_LIFEX-LOW = C_PP2.
APPEND R_LIFEX.
R_LIFEX-LOW = C_PP3.
APPEND R_LIFEX.
R_LIFEX-LOW = C_PP4.
APPEND R_LIFEX.
Get delivery information.
IF T_LIKPUK IS NOT INITIAL.
SELECT VBELN " Delivery
VSTEL " Plant
VSBED " Shipping condition
FROM LIKP
INTO TABLE T_LIKP
FOR ALL ENTRIES IN T_LIKPUK
WHERE VBELN = T_LIKPUK-VBELN
AND LFART = C_LF
AND LIFEX IN R_LIFEX
AND LIFSK EQ SPACE.
IF SY-SUBRC NE 0.
MESSAGE I280(LF).
STOP.
ENDIF. " IF SY-SUBRC NE 0.
ENDIF. " IF T_LIKPUK IS NOT INITIAL
ELSE.
IF T_LIKPUK IS NOT INITIAL.
SELECT VBELN " Delivery
VSTEL " Plant
VSBED " Shipping condition
FROM LIKP
INTO TABLE T_LIKP
FOR ALL ENTRIES IN T_LIKPUK
WHERE VBELN = T_LIKPUK-VBELN
AND LFART = C_LF
AND LIFSK EQ SPACE.
IF SY-SUBRC NE 0.
MESSAGE I280(LF).
STOP.
ENDIF. " IF SY-SUBRC NE 0.
ENDIF. " IF T_LIKPUK IS NOT INITIAL
ENDIF. " IF P_PREPAY EQ C_X.
T_LIKP2 = T_LIKP.
REFRESH T_LIKPUK.
ENDFORM. " GET_ORDER_DATA
Form GET_ITEM_DATA
This subroutine gets delivery item data
No Parameter interface
FORM GET_ITEM_DATA .
Get delivery item information.
IF T_LIKP IS NOT INITIAL.
SELECT VBELN " Delivery
POSNR " Item
MATNR " Material Number
LFIMG " Delivered Quantity
VRKME " Sales Unit
FROM LIPS
INTO TABLE T_LIPS
FOR ALL ENTRIES IN T_LIKP
WHERE VBELN = T_LIKP-VBELN
AND LFIMG NE 0.
IF SY-SUBRC NE 0.
STOP.
ENDIF. " IF SY-SUBRC NE 0.
ENDIF. " IF T_LIKP IS NOT INITIAL.
Begin of Insertion CS1K931253
SORT T_LIPS BY VBELN POSNR.
DELETE ADJACENT DUPLICATES FROM T_LIPS COMPARING VBELN.
End of Insertion CS1K931253
T_LIPS2 = T_LIPS.
ENDFORM. " GET_ITEM_DATA
Form GET_SHIPPOINT_TEXT
This subroutine gets Shipping point text
No Parameter interface
FORM GET_SHIPPOINT_TEXT .
Retrieve Shipping point texts, for unique shipping points.
SORT T_LIKP2 BY VSTEL.
DELETE ADJACENT DUPLICATES FROM T_LIKP2 COMPARING VSTEL.
IF T_LIKP2 IS NOT INITIAL.
SELECT VSTEL " Plant
VTEXT " Plant description
FROM TVSTT
INTO TABLE T_TVSTT
FOR ALL ENTRIES IN T_LIKP2
WHERE SPRAS = C_E
AND VSTEL = T_LIKP2-VSTEL.
IF SY-SUBRC NE 0.
Sy-subrc check not required
ENDIF. " IF SY-SUBRC NE 0
ENDIF. " IF T_LIKP2 IS NOT INITIAL.
ENDFORM. " GET_SHIPPOINT_TEXT
*& Form GET_MATTEXT
This subroutine fetches Material description
No Parameter interface
FORM GET_MATTEXT .
SORT T_LIPS2 BY MATNR.
DELETE ADJACENT DUPLICATES FROM T_LIPS2 COMPARING MATNR.
Fetch Matrial text
IF T_LIPS2 IS NOT INITIAL.
SELECT MATNR " Material Number
MAKTX " Material text
INTO TABLE T_MAKTX
FROM MAKT
FOR ALL ENTRIES IN T_LIPS2
WHERE MATNR EQ T_LIPS2-MATNR
Begin of insertion CS1K931253
AND MATNR NE '000000000000030014'
End of insertion CS1K931253
AND SPRAS = SY-LANGU.
IF SY-SUBRC NE 0.
Sy-subrc check not required
ENDIF. " IF SY-SUBRC NE 0
ENDIF. " IF T_LIPS2 IS NOT INITIAL.
ENDFORM. " GET_MATTEXT
Form CONNECT_PLANT_PRODUCT_DATA
This subroutine Connects Plant and quantity delivered by it
No Parameter interface
FORM CONNECT_PLANT_PRODUCT_DATA.
SORT T_LIKP BY VBELN.
SORT T_TVSTT BY VSTEL.
SORT T_MAKTX BY MATNR.
LOOP AT T_LIPS INTO FS_LIPS.
Getting Plant Name
READ TABLE T_LIKP INTO FS_LIKP WITH KEY VBELN = FS_LIPS-VBELN
BINARY SEARCH.
IF SY-SUBRC EQ 0.
READ TABLE T_TVSTT INTO FS_TVSTT WITH KEY VSTEL = FS_LIKP-VSTEL
BINARY SEARCH.
IF SY-SUBRC EQ 0.
FS_DEL_QUAN-VTEXT = FS_TVSTT-VTEXT.
ENDIF. " IF SY-SUBRC EQ 0
ENDIF. " IF SY-SUBRC EQ 0
Getting Ship Type.
FS_DEL_QUAN-VSBED = FS_LIKP-VSBED.
Getting Quantity.
IF FS_LIPS-VRKME EQ C_TO.
Begin of Deletion - CS1K931174
PERFORM CONVERT_UNIT.
End of Deletion - CS1K931174
Begin of Insertion - CS1K931174
FS_DEL_QUAN-VRKME = C_TON.
FS_DEL_QUAN-LFIMG = FS_LIPS-LFIMG * C_1_102311.
End of Insertion - CS1K931174
ELSE.
FS_DEL_QUAN-LFIMG = FS_LIPS-LFIMG.
FS_DEL_QUAN-VRKME = FS_LIPS-VRKME.
ENDIF. " IF FS_LIPS-VRKME EQ C_TO
Getting Product Name
W_MATNR = FS_LIPS-MATNR.
SHIFT W_MATNR LEFT DELETING LEADING C_0.
CASE W_MATNR.
Begin of Deletion - CS1K931174
WHEN '10023'.
FS_DEL_QUAN-PRODNAME = C_METHANOL.
End of Deletion - CS1K931174
WHEN '10024'.
FS_DEL_QUAN-PRODNAME = C_UREA.
WHEN '10026'.
FS_DEL_QUAN-PRODNAME = C_30%.
WHEN '10027'.
FS_DEL_QUAN-PRODNAME = C_32%.
WHEN '10030'.
FS_DEL_QUAN-PRODNAME = C_NH3.
WHEN '10031'.
FS_DEL_QUAN-PRODNAME = C_28%.
WHEN '36052'.
FS_DEL_QUAN-PRODNAME = C_AN.
WHEN OTHERS.
READ TABLE T_MAKTX INTO FS_MAKT WITH KEY MATNR = FS_LIPS-MATNR
BINARY SEARCH.
IF SY-SUBRC EQ 0.
FS_DEL_QUAN-PRODNAME = W_MATNR.
ENDIF. " IF SY-SUBRC NE 0
ENDCASE. " CASE FS_MATNR
Begin of Insertion - CS1K931174
IF W_MATNR NE '10023'.
End of Insertion - CS1K931174
APPEND FS_DEL_QUAN TO T_DEL_QUAN.
Begin of Insertion - CS1K931174
ENDIF. " IF W_MATNR NE '10023'.
End of Insertion - CS1K931174
CLEAR:
FS_DEL_QUAN,
FS_LIKP,
FS_LIPS,
FS_TVSTT,
FS_MAKT.
ENDLOOP. " LOOP AT T_LIPS INTO FS_LIPS
REFRESH:
T_LIKP,
T_LIPS.
CLEAR:
FS_LIKP,
FS_LIPS.
ENDFORM. " CONNECT_PLANT_PRODUCT_DATA
Form COLLECT_DATA_BY_SHIPTYPE
This subroutine adds quantity based on shipping condition
No Parameter interface
FORM COLLECT_DATA_BY_SHIPTYPE .
SORT T_DEL_QUAN BY PRODNAME VTEXT VSBED.
LOOP AT T_DEL_QUAN INTO FS_DEL_QUAN.
Adding delivered quantites based on Shiiping condition
CASE FS_DEL_QUAN-VSBED.
WHEN '01'.
FS_OPEN_DEL-QTYA = FS_OPEN_DEL-QTYA + FS_DEL_QUAN-LFIMG.
WHEN '02'.
FS_OPEN_DEL-QTYB = FS_OPEN_DEL-QTYB + FS_DEL_QUAN-LFIMG.
WHEN '03'.
FS_OPEN_DEL-QTYC = FS_OPEN_DEL-QTYC + FS_DEL_QUAN-LFIMG.
WHEN '04'.
FS_OPEN_DEL-QTYD = FS_OPEN_DEL-QTYD + FS_DEL_QUAN-LFIMG.
WHEN '05'.
FS_OPEN_DEL-QTYE = FS_OPEN_DEL-QTYE + FS_DEL_QUAN-LFIMG.
ENDCASE. " CASE FS_DEL_QUAN-VSBED
FS_OPEN_DEL-VRKME = FS_DEL_QUAN-VRKME.
AT END OF VTEXT.
FS_OPEN_DEL-VTEXT = FS_DEL_QUAN-VTEXT.
FS_OPEN_DEL-PRDCT = FS_DEL_QUAN-PRODNAME.
FS_OPEN_DEL-QTYT = FS_OPEN_DEL-QTYA + FS_OPEN_DEL-QTYB +
FS_OPEN_DEL-QTYC + FS_OPEN_DEL-QTYD +
FS_OPEN_DEL-QTYE.
CASE FS_OPEN_DEL-PRDCT.
Begin of Deletion - CS1K931174
WHEN C_METHANOL.
FS_OPEN_DEL-MAT_NUM = 1.
End of Deletion - CS1K931174
WHEN C_UREA.
FS_OPEN_DEL-MAT_NUM = 2.
WHEN C_30%.
FS_OPEN_DEL-MAT_NUM = 3.
WHEN C_32%.
FS_OPEN_DEL-MAT_NUM = 3.
WHEN C_28%.
FS_OPEN_DEL-MAT_NUM = 3.
WHEN C_NH3.
FS_OPEN_DEL-MAT_NUM = 4.
WHEN C_AN.
FS_OPEN_DEL-MAT_NUM = 5.
WHEN OTHERS.
IF FS_OPEN_DEL-PRDCT NE W_PRDCT.
W_INCR = W_INCR + 1.
ENDIF. " IF FS_OPEN_DEL-PRDCT...
W_PRDCT = FS_OPEN_DEL-PRDCT.
FS_OPEN_DEL-MAT_NUM = W_INCR.
ENDCASE. " CASE FS_OPEN_DEL-PRDCT
APPEND FS_OPEN_DEL TO T_OPEN_DEL.
CLEAR FS_OPEN_DEL.
ENDAT. " AT END OF VTEXT.
ENDLOOP. " LOOP AT T_DEL_QUAN INTO ...
REFRESH T_DEL_QUAN.
ENDFORM. " COLLECT_DATA_BY_SHIPTYPE
Form CHANGE_UAN
This subroutine to convert 28%UAN to 32%UAN
No Parameter interface
FORM CHANGE_UAN .
DATA LFS_OPEN_DEL2 LIKE FS_OPEN_DEL.
SORT T_OPEN_DEL BY VTEXT PRDCT.
Converting 28% UAN to 32% UAN
LOOP AT T_OPEN_DEL INTO FS_OPEN_DEL.
IF FS_OPEN_DEL-MAT_NUM = 3.
CASE FS_OPEN_DEL-PRDCT.
WHEN C_32%.
READ TABLE T_OPEN_DEL INTO LFS_OPEN_DEL2 WITH KEY
VTEXT = FS_OPEN_DEL-VTEXT
PRDCT = C_28% BINARY SEARCH.
IF SY-SUBRC EQ 0.
FS_OPEN_DEL-QTYG = FS_OPEN_DEL-QTYT + ( LFS_OPEN_DEL2-QTYT
( 875 / 1000 ) ).
ELSE.
FS_OPEN_DEL-QTYG = FS_OPEN_DEL-QTYT.
ENDIF. " IF SY-SUBRC EQ 0 .
W_TOTAL32 = W_TOTAL32 + FS_OPEN_DEL-QTYG.
MODIFY TABLE T_OPEN_DEL FROM FS_OPEN_DEL TRANSPORTING QTYG.
WHEN C_28%.
READ TABLE T_OPEN_DEL INTO LFS_OPEN_DEL2 WITH KEY
VTEXT = FS_OPEN_DEL-VTEXT
PRDCT = C_32% BINARY SEARCH.
IF SY-SUBRC NE 0.
FS_OPEN_DEL-QTYG = ( FS_OPEN_DEL-QTYT * ( 875 / 1000 ) ).
W_TOTAL32 = W_TOTAL32 + FS_OPEN_DEL-QTYG.
MODIFY TABLE T_OPEN_DEL FROM FS_OPEN_DEL TRANSPORTING QTYG.
ENDIF. " IF SY-SUBRC NE 0.
WHEN C_30%.
FS_OPEN_DEL-QTYG = ( FS_OPEN_DEL-QTYT * ( 9375 / 10000 ) ).
W_TOTAL32 = W_TOTAL32 + FS_OPEN_DEL-QTYG.
MODIFY TABLE T_OPEN_DEL FROM FS_OPEN_DEL TRANSPORTING QTYG.
ENDCASE. " CASE FS_OPEN_DEL-PRDCT
ENDIF. " IF FS_OPEN_DEL-MAT_NUM = 3
ENDLOOP. " LOOP AT T_OPEN_DEL INTO WA...
ENDFORM. " CHANGE_UAN
Form DISPLAY_DATA
This subroutine displays data
No Parameter interface
FORM DISPLAY_DATA.
IF T_OPEN_DEL IS NOT INITIAL.
Adding events to table T_EVENTS
PERFORM ADD_EVENTS.
Generating Fieldcatlog
PERFORM ADD_FIELDCATLOG.
SORT T_OPEN_DEL BY MAT_NUM VTEXT PRDCT.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
IT_FIELDCAT = T_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = T_EVENTS
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = T_OPEN_DEL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC NE 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. " IF SY-SUBRC NE 0.
ENDIF. " IF T_OPEN_DEL IS NOT INITIAL.
ENDFORM. " DISPLAY_DATA
FORM TOP_OF_PAGE.
This subroutine displays product name in top of page
No Parameter interface
FORM TOP_OF_PAGE.
CLEAR FS_OPEN_DEL.
READ TABLE T_OPEN_DEL INDEX W_INDEX INTO FS_OPEN_DEL.
IF SY-SUBRC EQ 0.
Display Product name in Top of page.
IF FS_OPEN_DEL-PRDCT EQ C_28% OR
FS_OPEN_DEL-PRDCT EQ C_32%.
FS_OPEN_DEL-PRDCT = C_UAN.
ENDIF. " IF FS_OPEN_DEL-PRDCT EQ C_28..
ENDIF. " IF SY-SUBRC EQ 0
Begin of Deletion - CS1K931253
WRITE:
40 'OPEN'(003),
FS_OPEN_DEL-PRDCT.
Begin of Deletion - CS1K931253
Begin of Insertion - CS1K931253
IF P_OPEN EQ 'X'.
WRITE:
40 C_OPEN,
FS_OPEN_DEL-PRDCT.
ELSE.
WRITE:
40 C_PREPAY,
FS_OPEN_DEL-PRDCT.
ENDIF. " IF P_OPEN EQ 'X'
Begin of Insertion - CS1K931253
ENDFORM. " TOP_OF_PAGE
FORM BEFORE_LINE_OUTPUT
This subroutine displays total quantity for each product
No Parameter interface
FORM BEFORE_LINE_OUTPUT USING RS_LINEINFO TYPE SLIS_LINEINFO.
CLEAR FS_OPEN_DEL.
READ TABLE T_OPEN_DEL INDEX RS_LINEINFO-TABINDEX INTO FS_OPEN_DEL.
Calculating Total quantity delivered based for each product
IF FS_OPEN_DEL-MAT_NUM NE W_NUMBER AND
RS_LINEINFO-TABINDEX NE 1.
W_INDEX = RS_LINEINFO-TABINDEX.
ULINE.
Begin of Deletion - CS1K931253
WRITE:'Total quantity delivered:'(004),
W_LFIMG UNIT FS_OPEN_DEL-VRKME .
End of Deletion - CS1K931253
Begin of Insertion - CS1K931253
WRITE:'Total quantity delivered:'(004),
W_LFIMG.
End of Insertion - CS1K931253
IF W_NUMBER EQ '3'.
Begin of Deletion - CS1K931253
WRITE:/ 'Total 32%:'(005),
W_TOTAL32 UNIT FS_OPEN_DEL-VRKME .
End of Deletion - CS1K931253
Begin of Insertion - CS1K931253
WRITE:/ 'Total 32%:'(005),
W_TOTAL32.
End of Insertion - CS1K931253
ENDIF. " IF FS_NUMBER EQ '3'.
NEW-PAGE.
CLEAR W_LFIMG.
ENDIF. " FS_OPEN_DEL-MAT_NUM NE...
W_NUMBER = FS_OPEN_DEL-MAT_NUM.
W_LFIMG = W_LFIMG + FS_OPEN_DEL-QTYT.
ENDFORM. " BEFORE_LINE_OUTPUT
FORM END_OF_LIST.
This subroutine to display End of List
No Parameter interface
FORM END_OF_LIST.
FORMAT COLOR 2.
Begin of Deletion - CS1K931253
WRITE: /'Total quantity delivered:'(004),
W_LFIMG UNIT FS_OPEN_DEL-VRKME .
End of Deletion - CS1K931253
Begin of Insertion - CS1K931253
WRITE: /'Total quantity delivered:'(004),
W_LFIMG.
End of Insertion - CS1K931253
FORMAT COLOR OFF.
ENDFORM. " END_OF_LIST
Form ADD_EVENTS
This subroutine to append events to ALV
No Parameter interface
FORM ADD_EVENTS.
CLEAR FS_EVENTS.
FS_EVENTS-NAME = C_TOP_OF_PAGE.
FS_EVENTS-FORM = C_TOP_OF_PAGE.
APPEND FS_EVENTS TO T_EVENTS.
CLEAR FS_EVENTS.
FS_EVENTS-NAME = C_BEFORE_LINE_OUTPUT.
FS_EVENTS-FORM = C_BEFORE_LINE_OUTPUT.
APPEND FS_EVENTS TO T_EVENTS.
CLEAR FS_EVENTS.
FS_EVENTS-NAME = C_END_OF_LIST.
FS_EVENTS-FORM = C_END_OF_LIST.
APPEND FS_EVENTS TO T_EVENTS.
ENDFORM. " ADD_EVENTS
Form ADD_FIELDCATLOG
This subroutine to append fields to field catlog
No Parameter interface
FORM ADD_FIELDCATLOG.
FS_FIELDCAT-FIELDNAME = 'VTEXT'(006).
FS_FIELDCAT-SELTEXT_L = 'PLANT'(007).
FS_FIELDCAT-OUTPUTLEN = C_30.
FS_FIELDCAT-SELTEXT_M = 'PLANT'(007).
FS_FIELDCAT-SELTEXT_S = 'PLANT'(007).
FS_FIELDCAT-KEY = 'X'.
APPEND FS_FIELDCAT TO T_FIELDCAT.
CLEAR FS_FIELDCAT.
FS_FIELDCAT-FIELDNAME = 'PRDCT'(008).
FS_FIELDCAT-SELTEXT_L = 'PRODUCT'(009).
FS_FIELDCAT-SELTEXT_M = 'PRODUCT'(009).
FS_FIELDCAT-SELTEXT_S = 'PRODUCT'(009).
FS_FIELDCAT-OUTPUTLEN = C_20.
APPEND FS_FIELDCAT TO T_FIELDCAT.
CLEAR FS_FIELDCAT.
FS_FIELDCAT-FIELDNAME = 'QTYA'(010).
FS_FIELDCAT-SELTEXT_L = 'TRUCK'(011).
FS_FIELDCAT-SELTEXT_M = 'TRUCK'(011).
FS_FIELDCAT-SELTEXT_S = 'TRUCK'(011).
APPEND FS_FIELDCAT TO T_FIELDCAT.
CLEAR FS_FIELDCAT.
FS_FIELDCAT-FIELDNAME = 'QTYB'(012).
FS_FIELDCAT-SELTEXT_L = 'RAIL'(013).
FS_FIELDCAT-SELTEXT_M = 'RAIL'(013).
FS_FIELDCAT-SELTEXT_S = 'RAIL'(013).
APPEND FS_FIELDCAT TO T_FIELDCAT.
CLEAR FS_FIELDCAT.
FS_FIELDCAT-FIELDNAME = 'QTYC'(014).
FS_FIELDCAT-SELTEXT_L = 'BARGE'(015).
FS_FIELDCAT-SELTEXT_M = 'BARGE'(015).
FS_FIELDCAT-SELTEXT_S = 'BARGE'(015).
APPEND FS_FIELDCAT TO T_FIELDCAT.
CLEAR FS_FIELDCAT.
FS_FIELDCAT-FIELDNAME = 'QTYD'(016).
FS_FIELDCAT-SELTEXT_L = 'PIPE'(017).
FS_FIELDCAT-SELTEXT_M = 'PIPE'(017).
FS_FIELDCAT-SELTEXT_S = 'PIPE'(017).
APPEND FS_FIELDCAT TO T_FIELDCAT.
CLEAR FS_FIELDCAT.
FS_FIELDCAT-FIELDNAME = 'QTYE'(018).
FS_FIELDCAT-SELTEXT_L = 'VESSEL'(019).
FS_FIELDCAT-SELTEXT_M = 'VESSEL'(019).
FS_FIELDCAT-SELTEXT_S = 'VESSEL'(019).
APPEND FS_FIELDCAT TO T_FIELDCAT.
CLEAR FS_FIELDCAT.
FS_FIELDCAT-FIELDNAME = 'QTYT'(020).
FS_FIELDCAT-SELTEXT_L = 'TOTAL'(021).
FS_FIELDCAT-SELTEXT_M = 'TOTAL'(021).
FS_FIELDCAT-SELTEXT_S = 'TOTAL'(021).
APPEND FS_FIELDCAT TO T_FIELDCAT.
CLEAR FS_FIELDCAT.
FS_FIELDCAT-FIELDNAME = 'QTYG'(022).
FS_FIELDCAT-SELTEXT_L = '32%TOTAL'(023).
FS_FIELDCAT-SELTEXT_M = '32%TOTAL'(023).
FS_FIELDCAT-SELTEXT_S = '32%TOTAL'(023).
APPEND FS_FIELDCAT TO T_FIELDCAT.
CLEAR FS_FIELDCAT.
FS_FIELDCAT-FIELDNAME = 'VRKME'(024).
FS_FIELDCAT-SELTEXT_L = 'UNITS'(025).
FS_FIELDCAT-SELTEXT_M = 'UNITS'(025).
FS_FIELDCAT-SELTEXT_S = 'UNITS'(025).
APPEND FS_FIELDCAT TO T_FIELDCAT.
CLEAR FS_FIELDCAT.
ENDFORM. " ADD_FIELDCATLOG
Regards,
Pavan -
Check user role/authorization during Web report run-time?
Hello again,
I ran into a problem. I need to check <b>user's authorization during webtemplate execution (run-time)</b>. I want to have a possibility to allow in one web template extra functionality (through template menu) to key users. Normal users, who are running same report, should not have this extra menu visible.
Is it possible to check user authorizations or roles during web-template run-time?
Thank you!
VitaliyHi Harinam,
From my logic your are right.
The restriction is in two new roles (Requestor and Approver role).
But ->
If I assign my approver role the selection possiblities of the request types during the AR creation is restricted and the AR search function does not work.
If I assign my requestor role the restriction of the request type is not there, but the AR search function works again. :-(
If I assign the original approver role of sap I have the same behavoiur for the AR search.
Both new roles are a 1:1 copy of the SAP standard roles - > Exception, ristriction on request type 'Execption Approval' is not displ.
I have execute ST01 now. If I try to open the log, the system syst "No records that correspond to these search criteria".
But I have found something else.
The problem appears only if I search for Process ID "Access Request Approval Workflow".
If I select other Process ID such as "Control Assignment Approval Workflow" or "Fire Fighter Log Report Review Workflow", everything works fine.
Very strange!
BR
Melanie
Maybe you are looking for
-
How to change your type of ipod in itunes
How can you change your type of ipod in itunes. We purchased a new Ipod touch and the computer/itunes will not reconize it.
-
KPSI (RKNMABTC) on company code level
Hello, I would like to ask, if somebody of you have already tried following: We would like to run the KPSI (Plan reconciliation / target = actual-IAA) on company code level. It is possible e.g. if create an appropriate cost center group. The problem
-
Issue updating the viewer version from V20 to V23
Hello! Our team is having an issue figuring out how to update our viewer version of our multi-issue iPad magazine. All of our issues so far have been on the Viewer Version 20, and are now wanting to use Viewer Version 23... except we can't figure out
-
Hello, i have to develop a driver for the NI M-Series (PCI-6232, PCI-6250 and USB-6216). One of our customers wants to use these cards in a Windows XP RTX Environment. My company has been asked to provide a DLL-File, which the application will use to
-
Help with opening ports on the Time Capsule
Ok, let me try to describe the situation I'm in. I use a local internet company and I have 2 computers hooked up to my TC, one being a mac and the other a PC. I use the mac for office stuff and my PC is for gaming. I just bought Call of Duty: Modern