Conditional field in a report

I am creating a report in APEX. I am trying to show a column in the report when my :bind variable is 'WEB'. How do I do that? The only way I know to not show a column is to uncheck the show column but I do not see a place to put a condition or code for that. Any help would be greatly appreciated.

Pam wrote:
I am creating a report in APEX. I am trying to show a column in the report when my :bind variable is 'WEB'. How do I do that? The only way I know to not show a column is to uncheck the show column but I do not see a place to put a condition or code for that. Any help would be greatly appreciated.
Always include your APEX version when asking a question, and always indicate whether a "report" is a standard report or an interactive report...
In a standard report, leave the Show Column checkbox checked, click the edit icon for the column to display the Column Attributes, and use a condition in the Conditional Display section to control whether the column is shown or not.

Similar Messages

  • Condition field in XL Reporter Get Other Data function

    I want to use the XL Reporter "Get Other Data" function to get data from a file not in the current Business Partner dimension  BPA.  Using the SalesPerson code SlpCode, I want to get the SalesPerson Name, SlpName. What is the value for the condition field to restrict the retrieval to just the one record that matches the SlpCode in the BPA dimension?  I've tried ocrd.SlpCode=oslp.SlpCode.  I've tried SlpCode=oslp.SlpCode. But I either get all the names in the Salesperson file or I get some type of syntax error.

    Jim,
    When you say I should be able to pass a parameter, do you mean while using the XLR "Get other data" function?  I thought that's what I was doing when I filled out the Get other data screen with the userid, password, then I specified the OSLP table, requesting SlpName in the Fields section, and then in Condition, I specified OCRD.SlpCode = OSLP.SlpCode.   When the report ran, I got a "#ixGetData error: The multi-part identifier "OCRD.SlpCode" could not be bound".   I tried substituting the BPA dimension qualifier, ie: BPA.SlpCode, but got the same error.
    If I removed the initial qualifier in the Condition field, ie: SlpCode = OCRD.SlpCode, when I ran the report I got ALL Salespersons names, not just the one that matched the SlpCode field on the current Business Partner line.

  • Chart report Condition fields and Data fields

    Hi all,
    i have tried chart report by adding two condion fields and one data field, the report is more meaning full in this scenario. the first condition field is taken as x-axis, the 2nd condition fields is taken as legend.
    while adding more condition fields and data fields, i feel its not showing meaningfull data.
    can anyone explain how the condition fields and data fileds are manipulated by crystal report.
    i am using CR XI R2 Server.
    Thanks
    Padmanaban V

    i am using Crystal Report XI R2 RAS Embedded in my server.
    as we can add any number condition fields programatically using the method
    ConditionField.Add(FieldObj), i would like to know how these fields are manipulated internally by the RAS server.
    that means, what is the significance of condition fieldobject 1, condition fieldobject 2,condition fieldobject 3 etc...
    if i add more than two condition fields , RAS Chart Report always returns 0 as legend value for all legends.
    Thanks in advance
    Regards,
    Padmanaban V
    Edited by: Padmanaban Viswanathan on Dec 22, 2008 9:53 AM

  • BAM Alerts - When a data field in a report meets specified conditions

    Hi ,
        Please find the below mentioned issue , which I am facing at the time of creating BAM alerts.
      I have created a data object, when i am creating the bam alert  [ create new alert --> create rule --> when i select an even " When a data field in a report meets specified conditions" and "When a data field in a data object meets specified conditions" then below in rule expression I am unable to edit the expression of  "this data fields has a specified condition of x".]
                          Appreciate your quick response.
    VAMSI.P

    Hi,
    I am having the same issue, and I am on IE9.  When I was on IE8 I had no problems.  Are you also on IE9
    Thanks
    Judy

  • Conditional Link on Interactive Report

    I'm trying to make the link column conditional on an interactive report. That is, I only want the pencil icon on the rows which have a field that is greater than 30. So, assume my query says:
    select DEPT_ID, USER_LEVEL
    from my_table;
    I only want the link icon to appear on rows that have USER_LEVEL > 30. I tried (unsuccessfully) to get this to work by adding a condition of "Expression1 = Expression2", and I used the #USER_LEVEL# substitution string. (Note: I know this would be exactly what I want because I want the condition to be on all values > 30, but I couldn't even get this to work when I put #USER_LEVEL# in Expression1 and "30" in Expression2 and looked at the records that had a USER_LEVEL value of exactly 30).
    In the end, I had to create a much more complex query like this...
    select
    case
    when USER_LEVEL >= 30 then
    '<a href="f?p=&APP_ID.:21:&SESSION.::&DEBUG.::P2_DEPT_ID:' || DEPT_ID || "><img src="#IMAGE_PREFIX#menu/pencil16x16.gif" alt="Edit" /></a>'
    else ' '
    end as edit_icon,
    DEPT_ID, USER_LEVEL
    from my_table;
    This doesn't seem right to me. Can someone confirm that I'm doing this the right way?

    Hi -
    It really bugs me this forum has such a problem with code examples, so for a while at least I posted quick example on Google:
    [Conditional Column|http://docs.google.com/Doc?id=dd2tkvv6_212dbzw2ftq]
    Not to complicate too much, but if you wanted to not have empty column except one row, you could of course apply this trick to the column that actually holds the user name in your table... in other words, the user could click right on their own name to go to edit screen, but every other user name but theirs would not be a hyperlink. But that is as they say an exercise for the reader :)
    Good luck.

  • How to integrate conditional colors to the Report

    <!--Hi all APEX gurus,
    I would like to ask if you could help me with the problem how to integrate conditional COLORS to the Report. I need to display Severity field in RED but how to include the multiple "quotation marks" and 'apostrophs' to the query below?
    I need to replace i."Severity" field in the query below with the DECODE like this:
    DECODE (i."Severity", 1, '<span style="color:red;font-weight:bold">' || i."Severity" || '</span>', i."Severity") "Severity"
    Original Query:
    DECLARE
    q varchar2(4000);
    BEGIN
    q := ' select ';
    q := q || ' i."ID" "ID", ';
    q := q || ' i."Task_ID" "Task ID", ';
    q := q || ' i."Severity" "Severity", ';
    q := q || ' i."Priority" "Priority", ';
    q := q || ' i."Task" "Task Name", ';
    q := q || ' p."Project_Name" "Project" ';
    q := q || ' from ';
    q := q || ' "IDEAS" i, ';
    q := q || ' "PROJECT_LOOKUP" p ';
    q := q || ' where ';
    q := q || ' p."Project_ID" = i."Project_ID" ';
    if :P1_Show != 'ALL' then
    q := q || ' and i."Project_ID" = :P1_Show';
    end if;
    RETURN q;
    END;
    I have tried many variants but still have problem with the " " and ' ' included in the DECODE command together with the q-variable.
    Thank you for any tips and
    Happy New Year!
    AB
    -->

    Hi user487406,
    What about a select like this:
    select i.id,
           i.task_id,
           case i.severity
             when 1 then '&#60;span style="color:red;font-weight:bold"&#62;' || i.severity || '&#60;/span&#62;'
           else
             to_char(i.severity)
           end severity,
           i.priority,
           i.task,
           p.project_name
      from ideas i,
           project_lookup p
    where p.project_id = i.project_id;
    And PL/SQL like this:
    q :=
    ' select i.id, ' ||
    '        i.task_id, ' ||
    '        case i.severity ' ||
    '          when 1 then ''&#60;span style="color:red;font-weight:bold"&#62;'' || i.severity || ''&#60;/span&#62;'' ' ||
    '          else ' ||
    '            to_char(i.severity) ' ||
    '        end severity, ' ||
    '        i.priority, ' ||
    '        i.task, ' ||
    '        p.project_name ' ||
    '   from ideas i, ' ||
    '        project_lookup p ' ||
    '  where p.project_id = i.project_id; '; Regards Pete

  • Getting Reason Code, Condition Type, and Condition Value in one report

    Hello there,
    I have got a Question for you all BW Gurus. I need the answer for this as soon as possible. I will assign points to all helpful answers.
    I am having a Sales cube, Delivery Cube, and a Conditions Cube which I built. Each cube is populated from different ODS. Means there are 3 ODS for 3 cubes. I am joining these 3 cubes under a Multiprovider.
    My Question is:
    We are using Reason Codes at Delivery level. We have identified an empty field in the delivery tables and populating this field with the reason codes. We have condition type and condition value only in the Condition cube. One of the reporting requirements is that we need to see Reason code, Condition Type, and Condition value in one report. I am planning to report on the Multiprovider. Since Reason code, Condition Type, and Condition value are not present in all the 3 cubes (means they are not common characteristics in the Multiprovider), I don’t think I can get those values in one report if I report on the Multiprovider. Please correct me if I am wrong. If what I say is correct, please tell me how to solve my problem. Once again, helpful answers will be greatly appreciated and rewarded with points.
    Thank you in advance.
    Kind Regards,
    Swathi

    Hello Swathi,
    Please do not post the same question on multiple forums.
    Thanks,

  • Possibility to define length of String fields for POJO Reporting

    <p>It would be a nice feature if you could set the length of a String field in POJO Reporting.</p><p>Right now the max length is set to 127 characters and that is not sufficient for our needs.</p><p>/Thanks</p><p>Mattias Melin</p><p>IST International</p><p>Sweden </p>

    Bascotie wrote:
    To make sure it was not blank I had been using
         if (aCust.state.equalsIgnoreCase("") || aCust.state.length() != 2){
    The first condition is redundant and pointless here, since, if it's true, the second one will always be true.

  • Regd: Calculation of TOTAL field in ALV report

    Hi All,
    We have a scenario that we are not getting the total value for numeric fields in ALV report.
    Below i have given the code used for it.
    G_KEY = 'X'.
      G_NOKEY = SPACE.
      G_SUM = 'X'.
      G_NOSUM = SPACE.
      PERFORM BUILD_FIELDCAT USING 'VBELN'  G_KEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'BLDAT'  G_NOKEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'VGBEL'  G_KEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'POSNR'  G_KEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'MATNR'  G_KEY G_NOSUM..
      PERFORM BUILD_FIELDCAT USING 'LFIMG'  G_NOKEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'VRKME'  G_NOKEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'NETPR'  G_NOKEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'BRTWR'  G_NOKEY G_NOSUM.
      PERFORM BUILD_FIELDCAT USING 'VALUE_INR'  G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'B_DUTY'     G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'S_TOTAL1'   G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'CV_DUTY'    G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'C_CVD'      G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'S_TOTAL2'   G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'C_DUTY'     G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'S_TOTAL3'   G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'A_DUTY'     G_NOKEY G_SUM.
      PERFORM BUILD_FIELDCAT USING 'T_DUTY'     G_NOKEY G_SUM.
    PERFORM BUILD_LAYOUT.
      PERFORM BUILD_DISPLAY.
    *&      Form  DISPLAY
          text
    FORM BUILD_DISPLAY.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
      I_CALLBACK_PROGRAM                = ' '
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
      I_CALLBACK_TOP_OF_PAGE            = ' '
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
         I_GRID_TITLE                      = TEXT-000
      I_GRID_SETTINGS                   =
       IS_LAYOUT                         = IG_LAYOUT
         IT_FIELDCAT                       = IG_FIELDCAT
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
         I_SAVE                            = 'A'
      IS_VARIANT                        =
      IT_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
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
        TABLES
          T_OUTTAB                          = IG_INBOUND
       EXCEPTIONS
         PROGRAM_ERROR                     = 1
         OTHERS                            = 2
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    "DISPLAY
    *&      Form  BUILD_FIELDCAT
          text
         -->G_FIELDNAME  text
         -->L_KEY        text
         -->L_SUM        text
    FORM BUILD_FIELDCAT USING L_FIELDNAME LIKE DD03L-FIELDNAME L_KEY TYPE C L_SUM TYPE C.
      CLEAR WG_FIELDCAT_LN.
      ADD 1 TO G_COL_POS.
      WG_FIELDCAT_LN-REF_TABNAME = 'IG_INBOUND'.
      WG_FIELDCAT_LN-FIELDNAME = L_FIELDNAME.
      WG_FIELDCAT_LN-KEY = L_KEY.
      WG_FIELDCAT_LN-DO_SUM = L_SUM.
      WG_FIELDCAT_LN-COL_POS = G_COL_POS.
      WG_FIELDCAT_LN-NO_OUT = SPACE.
      WG_FIELDCAT_LN-QFIELDNAME = SPACE.
      WG_FIELDCAT_LN-HOTSPOT = SPACE.
      APPEND WG_FIELDCAT_LN TO IG_FIELDCAT.
    ENDFORM.                    "BUILD_FIELDCAT
    *&      Form  BUILD_LAYOUT
          text
    FORM BUILD_LAYOUT.
    IG_LAYOUT-TOTALS_TEXT = 'Total Amount'.
    *IG_LAYOUT-SUBTOTALS_TEXT = 'A'.
    IG_LAYOUT-ZEBRA = 'X'.
    ENDFORM.
    Help and Sugesstions will be much appreciated.
    Thanks & Regds.
    Ramesh.

    This is sample program for the same
    REPORT  Z_50657_ALV_EX2
            NO STANDARD PAGE HEADING
            LINE-COUNT 65(3)
            LINE-SIZE 220
            MESSAGE-ID ZZ.
    *                             Type Pools                               *
    TYPE-POOLS: SLIS, ICON.
    *                              Tables                                  *
    TABLES: VBAK. "Sales Document Data
    *                         Internal Tables                              *
    * TABLE TO HOLD DATA OF SALES DOCUMENT
    DATA: BEGIN OF IT_VBAK OCCURS 0,
          VBELN LIKE VBAK-VBELN, "Sales Document
          VBTYP LIKE VBAK-VBTYP, "SD document category
          AUDAT LIKE VBAK-AUDAT, "Document date (date received/sent)
          AUGRU LIKE VBAK-AUGRU, "Order reason (reason for the business)
          AUART LIKE VBAK-AUART, "Sales Document Type
          NETWR LIKE VBAK-NETWR, "Net Sales Order in Doc. Currency
          WAERK LIKE VBAK-WAERK, "SD document currency
          ICON TYPE ICON-ID,     "traffic lights
          END OF IT_VBAK.
    *                             Work Areas                               *
    *WORK AREAS DEFINED FOR ALV'S
    DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,      "field catalog
          IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,     "field catalog ITAB
          WA_SORT TYPE SLIS_SORTINFO_ALV,           "SORT work area
          IT_SORT TYPE SLIS_T_SORTINFO_ALV,         "SORT ITAB
          LAYOUT TYPE SLIS_LAYOUT_ALV,              "LAYOUT
          WA_FCODE TYPE SLIS_EXTAB,                 "FUN CODE
          I_FCODE_EXTAB TYPE SLIS_T_EXTAB,
          WA_EVENTS TYPE SLIS_ALV_EVENT,
          IT_EVENTS TYPE SLIS_T_EVENT.
    *                       Selection-Screen                               *
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
    SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN.
    PARAMETERS: P_VBTYP LIKE VBAK-VBTYP DEFAULT 'C'.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.
    PARAMETERS: LIST RADIOBUTTON GROUP G1,
                GRID RADIOBUTTON GROUP G1.
    SELECTION-SCREEN END OF BLOCK B2.
    *                     At  Selection-Screen                             *
    *VALIDATION
    *                       Start of Selection                             *
    START-OF-SELECTION.
    *POPULATION OF DATA INTO INTERNAL TABLE ITAB
      PERFORM GET_DATA.
    *DEFINE USER DEFINED FIELDCATALOG
      PERFORM DEFINE_FIELDCATALOG.
    *SUBTOTALS AND TOTALS DISPLAY USING SORT
      PERFORM SORT_LIST.
    *CHANGE FCODE OF STATUS
      PERFORM CHANGE_FCODE.
    *CHECK RADIOBUTTON OPTION AND ACCORDINGLY FINAL DISPLAY
      PERFORM CHECK_OPTION.
    *&      Form  GET_DATA
    *       text
    FORM GET_DATA.
      SELECT VBELN
             VBTYP
             AUDAT
             AUGRU
             AUART
             NETWR
             WAERK FROM VBAK INTO TABLE IT_VBAK
             WHERE VBELN IN S_VBELN AND VBTYP = P_VBTYP
             AND ERDAT > '01.01.2004' AND NETWR > 0.
      LOOP AT IT_VBAK.
        IF IT_VBAK-NETWR < 10000.
          IT_VBAK-ICON = '@08@'.
        ELSEIF IT_VBAK-NETWR > 100000.
          IT_VBAK-ICON = '@0A@'.
        ELSE.
          IT_VBAK-ICON = '@09@'.
        ENDIF.
        MODIFY IT_VBAK INDEX SY-TABIX.
      ENDLOOP.
    ENDFORM.                    "GET_DATA
    *&      Form  CHECK_OPTION
    *       text
    FORM CHECK_OPTION.
      WA_EVENTS-NAME = 'TOP_OF_PAGE'.
      WA_EVENTS-FORM = 'TOP'.
      APPEND WA_EVENTS TO IT_EVENTS.
      CLEAR WA_EVENTS.
      WA_EVENTS-NAME = 'END_OF_LIST'.
      WA_EVENTS-FORM = 'END_LIST'.
      APPEND WA_EVENTS TO IT_EVENTS.
      CLEAR WA_EVENTS.
      IF LIST = 'X'.
        PERFORM LIST_DISP.
      ENDIF.
      IF GRID = 'X'.
        PERFORM GRID_DISP.
      ENDIF.
    ENDFORM.                    "CHECK_OPTION
    *&      Form  DEFINE_FIELDCATALOG
    *       text
    FORM DEFINE_FIELDCATALOG.
      WA_FIELDCAT-COL_POS = 1.
      WA_FIELDCAT-FIELDNAME = 'ICON'.
      WA_FIELDCAT-SELTEXT_L = 'ICON'.
      WA_FIELDCAT-ICON = 'X'.
      WA_FIELDCAT-OUTPUTLEN = 8.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 2.
      WA_FIELDCAT-FIELDNAME = 'VBELN'.
      WA_FIELDCAT-SELTEXT_L = 'SALES DOC NO.'.
      WA_FIELDCAT-OUTPUTLEN = 10.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 3.
      WA_FIELDCAT-FIELDNAME = 'AUDAT'.
      WA_FIELDCAT-SELTEXT_L = 'CREATED ON'.
      WA_FIELDCAT-OUTPUTLEN = 10.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 4.
      WA_FIELDCAT-FIELDNAME = 'VBTYP'.
      WA_FIELDCAT-SELTEXT_L = 'CATEGORY'.
      WA_FIELDCAT-OUTPUTLEN = 1.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 6.
      WA_FIELDCAT-FIELDNAME = 'AUGRU'.
      WA_FIELDCAT-SELTEXT_L = 'REASON'.
      WA_FIELDCAT-OUTPUTLEN = 3.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 5.
      WA_FIELDCAT-FIELDNAME = 'AUART'.
      WA_FIELDCAT-SELTEXT_L = 'DOC TYPE'.
      WA_FIELDCAT-OUTPUTLEN = 4.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 7.
      WA_FIELDCAT-FIELDNAME = 'NETWR'.
      WA_FIELDCAT-SELTEXT_L = 'NET VALUE'.
      WA_FIELDCAT-OUTPUTLEN = 17.
      WA_FIELDCAT-DECIMALS_OUT = 2.
    *  WA_FIELDCAT-DO_SUM = 'X'.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-COL_POS = 8.
      WA_FIELDCAT-FIELDNAME = 'WAERK'.
      WA_FIELDCAT-SELTEXT_L = 'UNIT'.
      WA_FIELDCAT-OUTPUTLEN = 50.
      WA_FIELDCAT-TABNAME = 'IT_VBAK'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    "DEFINE_FIELDCATALOG
    *&      Form  DEFINE_LAYOUT
    *       text
    FORM DEFINE_LAYOUT.
      LAYOUT-ZEBRA = 'X'.
      LAYOUT-SUBTOTALS_TEXT = 'SUBTOTAL SUM'.
      LAYOUT-WINDOW_TITLEBAR = 'EXERCISE 2'.
      LAYOUT-TOTALS_TEXT  = 'TOTAL'.
    ENDFORM.                    "DEFINE_LAYOUT
    *&      Form  SORT_LIST
    *       text
    FORM SORT_LIST.
      WA_SORT-FIELDNAME = 'VBELN'.
      WA_SORT-TABNAME = 'IT_VBAK'.
      WA_SORT-SPOS = 1.
      WA_SORT-UP = 'X'.
      WA_SORT-SUBTOT = 'X'.
      APPEND WA_SORT TO IT_SORT.
      CLEAR WA_SORT.
      WA_SORT-FIELDNAME = 'NETWR'.
      WA_SORT-TABNAME = 'IT_VBAK'.
      WA_SORT-UP = 'X'.
      WA_SORT-SPOS = 2.
      WA_SORT-SUBTOT = 'X'.
      APPEND WA_SORT TO IT_SORT.
      CLEAR WA_SORT.
    ENDFORM.                    "SORT_LIST
    *&      Form  LIST_DISP
    *       text
    FORM LIST_DISP.
      PERFORM DEFINE_LAYOUT.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
         I_CALLBACK_PROGRAM             = SY-REPID
         IT_FIELDCAT                    = IT_FIELDCAT
         IS_LAYOUT                      = LAYOUT
         IT_SORT                        = IT_SORT
         I_CALLBACK_PF_STATUS_SET       = 'STATUS'
         IT_EXCLUDING                   = I_FCODE_EXTAB
         I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'
         IT_EVENTS                      = IT_EVENTS[]
    *   IMPORTING
    *     E_EXIT_CAUSED_BY_CALLER        =
    *     ES_EXIT_CAUSED_BY_USER         =
        TABLES
         T_OUTTAB                       = IT_VBAK
    *   EXCEPTIONS
    *     PROGRAM_ERROR                  = 1
    *     OTHERS                         = 2
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    "LIST_DISP
    *&      Form  GRID_DISP
    *       text
    FORM GRID_DISP.
      PERFORM DEFINE_LAYOUT.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          I_CALLBACK_PROGRAM       = SY-REPID
          IS_LAYOUT                = LAYOUT
          IT_FIELDCAT              = IT_FIELDCAT
          IT_SORT                  = IT_SORT
          I_CALLBACK_PF_STATUS_SET = 'STATUS'
          IT_EXCLUDING             = I_FCODE_EXTAB
          I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
          IT_EVENTS                = IT_EVENTS[]
        TABLES
          T_OUTTAB                 = IT_VBAK.
    * EXCEPTIONS
    *   PROGRAM_ERROR                     = 1
    *   OTHERS                            = 2
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    "GRID_DISP
    *&      Form  STATUS
    *       text
    *      -->P_EXTAB    text
    FORM STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.
      SET PF-STATUS 'STATUS' EXCLUDING P_EXTAB.
    ENDFORM.                    "STATUS
    *&      Form  USER_COMMAND
    *       text
    *      -->R_UCOMM      text
    *      -->RS_SELFIELD  text
    FORM USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM
                                   RS_SELFIELD TYPE SLIS_SELFIELD.
      CASE R_UCOMM.
        WHEN 'BACK' OR 'CANC' OR 'EXIT'.
          LEAVE TO SCREEN 0.
        WHEN '&IC1'.
          SET PARAMETER ID 'AUN' FIELD RS_SELFIELD-VALUE.
          CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
      ENDCASE.
    ENDFORM.                    "USER_COMMAND
    *&      Form  CHANGE_FCODE
    *       text
    FORM CHANGE_FCODE.
      WA_FCODE = 'PRNT'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&OAD'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&AVE'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&EB9'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&SUM'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&UMC'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&XPA'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
      WA_FCODE = '&OMP'.
      APPEND WA_FCODE TO I_FCODE_EXTAB.
    ENDFORM.                    "CHANGE_FCODE
    *&      Form  TOP
    *       text
    FORM TOP.
      IF LIST = 'X'.
        WRITE:/ SY-ULINE.
        WRITE:/ 'DATE:', SY-DATUM,55 'INTELLIGROUP ASIA PVT LTD'.
        WRITE:/ 'TIME:', SY-UZEIT.
        WRITE:/ 'USER NAME:', SY-UNAME,60 SY-TITLE.
        WRITE:/ 'PAGE', SY-PAGNO.
        WRITE:/ SY-ULINE.
      ENDIF.
      IF GRID = 'X'.
        DATA: LS_LINE TYPE SLIS_LISTHEADER,
              E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    *   Listenüberschrift: Typ H
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'H'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = 'Summary'.
        APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    *   Kopfinfo: Typ S
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'S'.
        LS_LINE-KEY  = 'Intelligroup'.
        LS_LINE-INFO = ''.
        APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
        LS_LINE-KEY  = 'ASIA'.
        LS_LINE-INFO = 'PVT LTD'.
        APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    *   Aktionsinfo: Typ A
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'A'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = 'truman'.
        APPEND LS_LINE TO  E04_LT_TOP_OF_PAGE.
        CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
          EXPORTING
            IT_LIST_COMMENTARY = E04_LT_TOP_OF_PAGE
            I_LOGO             = 'ENJOY_SAP_LOGO'.
      ENDIF.
    ENDFORM.                    "TOP
    *&      Form  END_LIST
    *       text
    FORM END_LIST.
      IF LIST = 'X'.
        SKIP 2.
        WRITE:/60 'END OF PAGE'.
      ENDIF.
      IF GRID = 'X'.
          DATA: LS_LINE TYPE SLIS_LISTHEADER,
              E04_LT_END_OF_LIST TYPE SLIS_T_LISTHEADER.
    *   Listenüberschrift: Typ H
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'H'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = 'Summary'.
        APPEND LS_LINE TO E04_LT_END_OF_LIST.
    *   Kopfinfo: Typ S
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'S'.
        LS_LINE-KEY  = 'Intelligroup'.
        LS_LINE-INFO = ''.
        APPEND LS_LINE TO E04_LT_END_OF_LIST.
        LS_LINE-KEY  = 'ASIA'.
        LS_LINE-INFO = 'PVT LTD'.
        APPEND LS_LINE TO E04_LT_END_OF_LIST.
    *   Aktionsinfo: Typ A
        CLEAR LS_LINE.
        LS_LINE-TYP  = 'A'.
    *   LS_LINE-KEY:  not used for this type
        LS_LINE-INFO = TEXT-105.
        APPEND LS_LINE TO  E04_LT_END_OF_LIST.
        CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
          EXPORTING
            IT_LIST_COMMENTARY = E04_LT_END_OF_LIST.
      ENDIF.
    ENDFORM.                    "END_LIST

  • How to add new fields to standard reports

    hi friends,
                 im into ABAP and working across all modules..the basic thing is users and functional people are not satisfied with the standard reports..they need some logic change or to add some more fieldsinb the standard reports.For logic change we have to copy the standard to zprogram and can do or create a new program itself..but in many cases they ask for extra fields.how to achive it ..
    for example my requirement now is adding vendor name field to the report FAGGL03 ....i found a badi and have make changes to it ...now the vendor name will be coming in sgtxt over writing the text ...but they need text also...now what shall i do???
    append structure vendor name field in faglposx table ....???how to find out the final internal table from where the output is coming ????
    ?when we check the standard rewport codes...there are lot of include statements perform statements etc  ...how to find out the final structure or internal table which has the output values..???

    hi
    it would be better if u giv full name of the report
    if ur displaying the data in alv then search for the
    word REUSE_ALV_LIST_DISPLAY REUSE_ALV_GRID_DISPLAY from which u can get the final table name
    then check the data that is comming into
    try using implicit enhancement or any other exit in the declaration and declare a new structure with the field and append it to the field catalog
    if ur displaying the data using write statement
    then create a zprogram and add a write statement
    fi ur unable to find here the final table then after displayign the report start the debugging and double click on any row to find out more easily
    shiva

  • FIELD ISSUE IN REPORT

    one of the Field in my Report is F_Payment_date1 the source column its referring is payment_date which is in the table ..
    The Query for this Group is
    select
    empl.action_context_id
    , empl.full_name
    , ppf.last_name
    , ppf.first_name
    , empl.national_identifier
    ,hou.INTERNAL_ADDRESS_LINE
    , empl.employee_number
    , empl.organization_name
    , substr(empl.employee_address1,1,40) emp_add_ln1
    , substr(empl.employee_address2,1,40) emp_add_ln2
    , substr(empl.employee_address3,1,40) emp_add_ln3
    , rtrim(substr(empl.employee_city,1,26))||' '
    ||empl.employee_state||' '
    ||empl.employee_zip_code emp_add_ln4
    , empl.beginning_date period_start_date
    , empl.ending_date period_end_date
    , empl.payment_date
    , LTRIM(RTRIM(TO_CHAR(empl.pay_rate,'99999999.00'))) base_salary
    , empl.pay_basis salary_basis
    , empl.employee_state resident_state
    , empl.location_name
    , paf.work_At_home
    , empl.assignment_id
    , :org_payment_method_id org_payment_id
    , substr(empl.employer_address1,1,40) emplr_add_ln1
    , substr(empl.employer_address2,1,40) emplr_add_ln2
    , rtrim(substr(empl.employer_city,1,26))||' '
    ||empl.employer_state||' '
    ||empl.employer_zip_code emplr_add_ln3
    from PAY_EMPLOYEE_ACTION_INFO_V empl
    ,pay_assignment_actions paa
    ,per_assignments_f paf
    ,per_people_f ppf
    ,hr_all_organization_units hou
    where paa.assignment_action_id = empl.action_context_id
    and empl.assignment_id = paa.assignment_id
    and paf.assignment_id = paa.assignment_id
    and empl.effective_date between hou.DATE_FROM and nvl(hou.date_to,empl.effective_date)
    and paf.ORGANIZATION_ID = hou.ORGANIZATION_ID
    and empl.employee_number = ppf.employee_number
    and empl.effective_date between paf.effective_start_date
    and paf.effective_end_date
    and empl.effective_date between ppf.effective_start_date
    and ppf.effective_end_date
    even if the payment date expires in the report it is still showing payment_date
    i want to include the logic like this
    if overrideing then
    v_date:=: PPA_OVERRIDING_DD_DATE ( Ihope this does not work as they are in dfferent group i need to write sql )
    else
    v_date:=:PAYMENT_DATE;
    return(v_date);
    PPA_OVERRIDING is in the table pay_assignment_actions
    The Query for the other group where the PPA_OVERRIDING_DD_DATE
    is
    SELECT decode(ppa.action_type,'H',to_number(paa.serial_number)
    ,paa.action_sequence) orderby
    , paa.assignment_action_id asg_actid, to_number(paa.serial_number) xfr_action
    , ppa.action_type
    , ppa.org_payment_method_id
    , paa.assignment_id paa_assignment_id
    , ppa.effective_date ppa_effective_date
    , ppa.business_group_id business_group_id
    , ppa.payroll_action_id ppa_payroll_action_id
    , ppa.payroll_id ppa_payroll_id
    , ppa.consolidation_set_id ppa_consolidation_set_id
    , ppa.date_earned ppa_date_earned
    , ppa.overriding_dd_date ppa_overriding_dd_date
    FROM pay_assignment_actions paa
    ,pay_payroll_actions ppa
    WHERE paa.payroll_action_id = :pactid
    AND paa.chunk_number = :chnkno
    AND ppa.payroll_action_id = paa.payroll_action_id
    ORDER BY 1
    can anyone gimme sugestion how to approach this ..i want to display
    PPA_OVERRIDING_DD_DATE column values where ever
    payment date is expired .
    Thanks in Advance,
    Dev Kishore.T

    If i understand your question well, you could try this:
    In the querygroup (datamodel) of your first query you create a formula column : CF_payment_or_overriding_date
    In the PL/SQL Formula of your formula column you add code like this:
    function CF_payment_or_overriding_dateF return DATE
    is
    ld_return DATE;
    begin
    IF 'overriding'
    THEN
    use your criteria to retrieve the overriding_dd_date from paa via select into or a cursor construction
    ld_return := ppa_overriding_dd_date;
    ELSE
         -- empl.payment_date is fine do not replace
         ld_return := :payment_date;
    END IF;
    RETURN (ld_return);
    end;
    And in your layout section,
    for your field F_Payment_date1 set your source column to
    your formula column CF_payment_or_overriding_date
    Hope this helps,
    Greetings,
    Emiel

  • User Comment field available for reporting?

    User Comment field available for reporting?
    When doing custom reporting against requests with reportable dictionaries we have a user request to also include the user comments.  How do I reference / point to the comments field for a request?

    If you are referring to the comments which are added in the Comments and History section of a requisition, this information is not migrated to the datamart and is not reportable.
    If, on the other hand, you are referring to a comments field that you have included in a dictionary on the service form, that information will be available in the datamart so long as that dictionary has been made reportable.

  • I can not insert a field in ANY report . . .

    Post Author: Chass
    CA Forum: General
    I've searched around a bit about this. I can't find anything about anyone who had the same problem.
    I was reporting along and suddenly CR v8.5 wouldn't let me insert a field anymore. I can't insert a field on a new or old report from the field exporer. I drag the field to the area of the report that I want to drop it and it stays a black circle with a line through it. It won't allow me to insert any field in any report.
    I tested this on my coworkers computer and his is working fine. Same version, same report, same field.
    What would cause my install of CR to stop allowing insertion of fields?
    Thanks in advance . . .
    Chass
    ct

    Post Author: Chass
    CA Forum: General
    For anyone else that runs into this issue. I searched heavily and came up with nothing.
    I decided to uninstall and then reinstall the application and that fixed the problem.
    I still don't know the original cause . . .
    Chass
    ct

  • Need to add extra field in BEX report

    Hi  Experts ,
    I have a problem in bex report.
    scenario is like this--
    APD will generate the BPS Daily report on Branch, Group, Area, Region and total company levels and then exports  into a flat files stored in appserver
    and i got the requirement to change the layout of the report. The client wants to need the one field extra ie. 'REPORTS RUN DATE '
    and i am stuck here how to add this field in my report ..
    Please help me  ASAP.
    Thanks a lot in advance
    Saurabh

    hi,
    Enhance your APD and in the target add field REPORTS RUN DATE .
    Fill this using ABAP routine which populates the sy-datum in this field.
    regards,
    Arvind.

  • Hide grand total field on ALV report, But keep the sub total fields

    Dear Experts,
    1) How to hide grand total field on ALV report, But keep the sub total fields.
    2) How to populate rate per ton & calculate total price according to the qty in delivering document.

    Dear Experts,
    1) How to hide grand total field on ALV report, But keep the sub total fields.
    2) How to populate rate per ton & calculate total price according to the qty in delivering document.

Maybe you are looking for