Authorization on Summarization Report

Hi Guys
I need to know, how I can achieve Plant authorization on Project summarization reports.
I can explain the scenario:
We have Project manager A. who is having authorization of for PLANT 1
So he should not allow seeing summarization report for any other PLANT.

Hi Guys
I need to know, how I can achieve Plant authorization on Project summarization reports.
I can explain the scenario:
We have Project manager A. who is having authorization of for PLANT 1
So he should not allow seeing summarization report for any other PLANT.

Similar Messages

  • Report S_ALR_87013105 : no authorization for the report/ table 7KU6_001

    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,
    Vijay

    Hi,
    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.

  • 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.
    Dorothy

    hi
    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

  • 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*****

  • Authorization for the report

    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 John

    Hi,
    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,

  • Authorization for BI Reports

    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 plants

    Hello,
    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

  • How set authorizations for sales reports and other reports in SAPB1

    Hi, I'm currently working in SAP Business One Version 8.82
    The issue I'm facing is that I want to set it up so that certain users cannot see other users' sales information.  I know that I can turn on or off the Sales Analysis Report for various users for instance, but what I really want specifically is this.  Suppose we have 3 different teams: Team A consists of (Angie, Angela, and Anita the manager), Team B consists of (Bob, Barbara, and Ben the manager), Team C consists of (Cat, Charlie, and Courtney the manager).  I would like to make it so that everyone can view the individual sales order documents of everyone else (in case a customer calls and needs information, but the salesperson who created that document isn't there); however, Angie should only see her own orders when she does a Sales Analysis while Anita, the manager of Team A, should see the the orders of Angie, Angela, and herself of course.
    To summarize, I'd like to see the following
    1.  Each salesperson can lookup and view any sales order.
    2.  Each salesperson can run an sales report to view all his/her own open sales orders.
    3.  Each manager can run a sales report on his/her subordinates, but not on the other managers or their subordinates.
    4.  The boss or other people working in corporate are able to run a report on all open sales orders.
    What's the best way to approach this?  Is it best if I create my own report?  I haven't created any reports from scratch yet, so I'm not sure exactly how that works.  I'd like to be able to group the salespeople up by location if possible.  The sales analysis report doesn't really do that, but it is useful.  I just don't want everyone to be able to see the numbers on their peers.
    Thank you I appreciate any help or advice.

    Hi,
    1.  Each salesperson can lookup and view any sales order.
    Answer:
    Create own report by using query and save under query manager and the assign for all group. So that all sales person can run this query  and can get sales order detail.
    2.  Each salesperson can run an sales report to view all his/her own open sales orders.
    Answer:
    Create individual query ( add condition in where clause slpname = 'XXX') for each sales person and save it under query manager and assign to particular user group
    3.  Each manager can run a sales report on his/her subordinates, but not on the other managers or their subordinates.
    Answer:
    Create query for only particular team (  condition is slpname = XXX OR YYY OR ZZZ) and save under query manager. Make schedule report on this and send it to only particular manger
    Same way create for another manager and schedule report.
    4.  The boss or other people working in corporate are able to run a report on all open sales orders
    Answer.
    Create query for all sales person and schedule report to big boss.
    Hope you can get an idea.
    Let me know if you need sales report ( advice required field)
    Thanks & Regards,
    Nagarajan

  • 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.

  • Authorization on ALV Report

    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!
    Vitaliy

    Hi 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

  • Authorization issue with report on "Char data target"

    Hi,
    we've a characteristic ZCHAR inserted as data target.
    user is not able to execute a report created on this "Characteristic data target".
    error is as follows : "Error : You are not authorized to use ZCHAR".
    Could some one advise how to resolve this issue & what authorizations need to be assigned to this user.
    <b>PS: same user has no problems running other reports created on infocube & ODS.
    also, this characteristic data target is not "authorization relevant" in the info object definition.</b>
    appreciate your help.
    I've following profile assigned to user.
    S_RS_ICUBE - Administrator Workbench - InfoCube
    Activity   :                     All activities
    InfoCube Subobject :             All values
    InfoArea           :             *
    InfoCube           :             *
    Hari Immadi
    http://immadi.com
    SEM BW Analyst

    Gova,
    thanks for your reply.
    profile doesn't have any authorization object S_RS_IOBJ.
    looks like this is the problem.
    I quickly tested with this object on a dummy profile & it worked with following settings. Is this correct just for reporting?
    Object S_RS_IOBJ
    Activity                       Display 
    InfoObject                     ZCHAR
    InfoObject catalog             *       
    Subobject of InfoObject        Data    
    Hari Immadi
    http://immadi.com
    SEM BW Analyst

  • No Authorization Issue in report

    Hi all,
    I am facing some  issue, I am not able to load data for some particular CompanyCodes(Say 100).
    Whereas i am able to load the same CompanyCode for other reports.
    On analyzing the joblog, it is displaying the message 'No Authorization for companycode 100'.
    Can anyone please help me on this?
    Regards,
    MaNo

    Hi manoj,
    please try the link http://help.sap.com/saphelp_nw04/helpdata/en/52/67129f439b11d1896f0000e8322d00/content.htm
    hope it helps u.

Maybe you are looking for

  • Properties & tools are greyed out

    Hi, Whenever I open a new document in Flash CS5 Pro, the properties & tools panels are greyed out. Does anyone know how to fix this? Thanks in advance. pjirles

  • Need help for a query

    Dear all, I have data in a table with 3 columns. Tabke name---test & columns are .... Proeductioncode varchar2(5); revisionno varchar2(3); dateadopted char(8); SELECT PRODUCTIONCODE, REVISIONNO, dateadopted FROM test where productioncode ='CI50E'; ou

  • JDBC driver configuration for sybase in XI 3.0

    my client vendor upgraded sybase database version 8 to 11, then after we are facing connectivity problem. i deployed new JDBC for sybase ver 6.05..  jconn3.jar i am not sure this is the right version to deploy for sybase 11... still have the connecti

  • Rename the classes

    I would like rename the fields of the classes java in the file of configuration XML, to remove for example the prefix in the name of the classes.For example if my table appele TRF_ACTOR Toplink workbench will be called it TrfActor. I would like that

  • Can't launch Encore CS4

    I just downloaded and installed the trial version of Encore CS4.  I click on "I'd like to continue to use this product on a trial basis."  Then I get this message:  "Adobe Encore CS4 cannot run in trial mode.  Please relaunch the application & provid