Logic needed for dynamic report

Hi Experts,
I have made a dynamic report where my logic is if the value of the columns is 0 than it should be blank and if the columns of the stores have some value for eg: 01 than it should populate the same store.
The logic goes like :
for matnr     01store 02 store
                                         01       100.00          0.00
                                         02          00              00
                                         03       50.00           13.00
than the output should be
matnr     01store 02 store
                                         01           01store       
                                         02        
                                         03           01store    02 store
I have made the logic but all the lines are getting appended
it_field_dynamic1-fieldname = 'MATNR'.
    it_field_dynamic1-desc      = 'ARTICLE'.
    it_field_dynamic1-reffield = 'MATNR'.
    it_field_dynamic1-reftab   = 'MBEW'.
    it_field_dynamic1-seq =  1.
    COLLECT it_field_dynamic1.
    CLEAR wa_itab.
    LOOP AT itab INTO wa_itab. "WHERE SALK3 NE '0.00'.
      it_field_dynamic1-fieldname = wa_itab-bwkey.
      it_field_dynamic1-desc      = wa_itab-bwkey.
*    IF WA_ITAB-SALK3 NE '0.00'.
*    it_field_dynamic1-reffield = wa_itab-bwkey.
*    ENDIF.
      it_field_dynamic1-reftab   = 'MBEW'.
      it_field_dynamic1-seq =  1.
      COLLECT it_field_dynamic1.
      CLEAR wa_itab.
    ENDLOOP.
    LOOP AT it_field_dynamic1.
      wa_alv_cat1-fieldname = it_field_dynamic1-fieldname.
      wa_alv_cat1-col_pos    = sy-tabix.
      wa_alv_cat1-ref_field = it_field_dynamic1-reffield.
      wa_alv_cat1-ref_table = it_field_dynamic1-reftab.
      wa_alv_cat1-seltext   = it_field_dynamic1-desc.
      COLLECT wa_alv_cat1 INTO lt_alv_cat1 .
      CLEAR wa_alv_cat1 .
*    APPEND wa_alv_cat TO lt_alv_cat .
    ENDLOOP.
    IF NOT lt_alv_cat1[] IS INITIAL .
* Create Dynamic Table -> i_table
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = lt_alv_cat1
        IMPORTING
          ep_table        = i_table1.
      ASSIGN i_table1->* TO <table1> .
* Create dynamic work area and assign to FS
      CREATE DATA i_struct1 LIKE LINE OF <table1>.
      ASSIGN i_struct1->* TO <struc1>.
    ENDIF.
    DATA: l_row TYPE sy-index.
    FIELD-SYMBOLS: <ls_table> TYPE ANY.
    FIELD-SYMBOLS: <l_field> TYPE ANY.
    DATA: wa_dref1 TYPE REF TO data.
    FIELD-SYMBOLS: <wa_tab1> TYPE ANY.
    CREATE DATA wa_dref1 LIKE LINE OF <table1>.
    ASSIGN wa_dref1->* TO <wa_tab1>.
    FIELD-SYMBOLS: <fs1>, <fs2>.
*  DATA: wa_dref1 TYPE REF TO data.
*  FIELD-SYMBOLS: <wa_tab1> TYPE ANY.
    CREATE DATA wa_dref1 LIKE LINE OF <table1>.
    ASSIGN wa_dref1->* TO <wa_tab1>.
    CLEAR : wa_matnr, wa_itab.
   LOOP AT imatnr INTO wa_matnr.
*clear: wa_itab-bwkey.
*      CLEAR: wa_itab.
      LOOP AT itab INTO wa_itab WHERE matnr = wa_matnr-matnr.
*        CLEAR: wa_itab-bwkey.
        IF wa_itab-salk3 EQ '0.00'.
          CLEAR: wa_itab-bwkey .
        ELSE.
        ASSIGN COMPONENT wa_itab-bwkey OF  STRUCTURE <wa_tab1> TO <fs1>.
          IF sy-subrc =  0 . "AND WA_ITAB-SALK3 NE '0.00'.
            <fs1> = wa_itab-bwkey.
          ENDIF.
        ENDIF.
*ON  CHANGE OF WA_ITAB-MATNR.
        ASSIGN COMPONENT 'MATNR' OF  STRUCTURE <wa_tab1> TO <fs2>.
        IF sy-subrc =  0.
*      ON CHANGE OF wa_itab-matnr.
          <fs2> = wa_itab-matnr.
*      ENDON.
        ENDIF.
*      APPEND <wa_tab1> TO <table1>.
      ENDLOOP.
       APPEND <wa_tab1> TO <table1>.
      CLEAR : wa_ltab.
    ENDLOOP.
than i have called the alv grid display
Please let me know.
Thanks,
Nikhil.

Hi Oliver,
My current output is:
for                                  
matnr     01store 02 store
                                                  01         100.00         0.00
                                                   02          00              00
                                                   03       50.00           13.00
                                        matnr    01store   02 store
                                         01       01store         
                                         02       01store            
                                         03       01store
but for matnr 02,  01 store has 0 value hence it should come blank but its appending from the first line and populating 01store for material 2.
Thanks & Regards,
Nikhil.

Similar Messages

  • Logic Needed for MM Report with PR, PO, GR and Invoice details

    Hi Experts,
    We need to provide a list of below details as columns.
    PR, PR creation date, PO, PO creation date, GR, GR creation date, Invoice and Invoice creation date.
    Now on the selection screen we'll have Date range. If I give the dat range as 01.01.2011 to 31.12.2011, then the list should be displaying all the details. However, it should first check Invoices in that date range and mention the related details. If there are some GRs (for which invoice is not yet created) for that year, then the related details (PR, PO and GR) of that GR are to be shown. For POs (for which GR itself is not yet created), again details are to be shown (PR and PO details).
    Can somebody help me in getting this done in some simpler way? I am thinking of fetching the data from the respective tables for this date range and then from invoice i will be printing and then deleting the corresponding GR, PO and PR. Then will be checking GR , printing the details and deleting corresponding PR and PO.. and so on. But I felt this not that great.
    Can anyone suggest some other logic or provide some inputs?
    Thanks.

    Hi,
    As per your requirement you can cross the tables i.e. BSET,RSEG,RBKP(For Invoice Header n Item Details).Then now go to the MKPF,MSEG tables (For MIGO Details) and EBAN,EKKO,EKPO(For Purchase Requsitions,Orders Details).... Consider BUDAT as  a selection date among the tables RSEG,MKPF,EKKO.
    Regards,
    Rickky

  • Currency type option needed for copa report

    Dear Experts,
    Currency type option needed for copa report.I have checked all the possibilities in ke35 as well.
    how to add curreny type in selection screen for COPA reports.
    regards
    RK

    If you want to create your own report with required currency,
    T CODE - KE35 - Click on "Report" (create), next window appears
    Give the name of the report and description
    The u see 2 options
    1. Basic report
    2. Report with Form
    Select which ever you want and press ENTER
    Here you need to prepare the report format and fields which are there in the right side box
    Hope it helps
    Thanks

  • Where to download the crdb_jdbc.dll file ??? - Needed for Crystal report ..

    Hi Friends ,
    Where to download the crdb_jdbc.dll file ??? - Needed for Crystal report ..which is missing for me ...
    i searched in many sites .. but this only dll file is missing ..
    can any one help me out ..

    itsdhanasaraa wrote:
    Hi Friends ,
    Where to download the crdb_jdbc.dll file ??? - Needed for Crystal report ..which is missing for me ...
    i searched in many sites .. but this only dll file is missing ..
    can any one help me out ..Ask at where ever you bought the software from.
    Let me guess, you didn't buy it, did you?

  • Need correction for dynamic report

    Hi Experts,
    As i have very less experience in SAP , can anyone please help me.
    The report code i attached here generate only 10 columns in the report and all the lines in internal table i am showing in these 10 columns, the problem is if i have more that 10 lines in the tline(script for long material text- MM03) then it leaves those lines, so
    I need to create a dynamic report for this which will create columns depending on the lines in the tline.As i dnt no much about ALV i read so namy things but not able to make it dynamic
    Please, can anyone help me by doing changes in this code and make it dynamic report/ALV
    REPORT  zmm_test_mat_desc.
    TABLES : ekpo,makt, t001w.
    TYPE-POOLS: slis.
    DATA : thread LIKE thead.
    DATA : l_index LIKE sy-tabix.
    DATA : p_index LIKE sy-tabix.
    DATA: BEGIN OF int_out OCCURS 0,
    matnr LIKE makt-matnr,
    maktx LIKE makt-maktx,
    tdline1 LIKE tline-tdline,
    tdline2 LIKE tline-tdline,
    tdline3 LIKE tline-tdline,
    tdline4 LIKE tline-tdline,
    tdline5 LIKE tline-tdline,
    tdline6 LIKE tline-tdline,
    tdline7 LIKE tline-tdline,
    tdline8 LIKE tline-tdline,
    tdline9 LIKE tline-tdline,
    tdline10 LIKE tline-tdline,
    werks LIKE ekpo-werks,
    END OF int_out.
    DATA: BEGIN OF int_out_new OCCURS 0,
    matnr LIKE makt-matnr,
    maktx LIKE makt-maktx,
    tdline1 LIKE tline-tdline,
    tdline2 LIKE tline-tdline,
    tdline3 LIKE tline-tdline,
    tdline4 LIKE tline-tdline,
    tdline5 LIKE tline-tdline,
    tdline6 LIKE tline-tdline,
    tdline7 LIKE tline-tdline,
    tdline8 LIKE tline-tdline,
    tdline9 LIKE tline-tdline,
    tdline10 LIKE tline-tdline,
    tline LIKE tline OCCURS 0,
    werks LIKE ekpo-werks,
    END OF int_out_new.
    DATA: it_tlines LIKE tline OCCURS 10 WITH HEADER LINE.
    ****ALV list definintion
    DATA: ws_cat TYPE slis_fieldcat_alv ,
    int_fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
    DATA: g_container TYPE scrfname VALUE 'BCALV_GRID_DEMO_0100_CONT1',
    g_custom_container TYPE REF TO cl_gui_custom_container.
    DATA : it_heading TYPE slis_t_listheader WITH HEADER LINE.
    *DATA : it_fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
    DATA : lay TYPE slis_layout_alv.
    DATA : it_sort_subtotal TYPE slis_t_sortinfo_alv WITH HEADER LINE.
    DATA : it_event TYPE slis_t_event WITH HEADER LINE.
    DATA: v_repid LIKE sy-repid.
    *selection-screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: s_werks FOR ekpo-werks OBLIGATORY .
    SELECT-OPTIONS: s_matnr FOR makt-matnr OBLIGATORY .
    SELECTION-SCREEN END OF BLOCK b1.
    INITIALIZATION.
    AT SELECTION-SCREEN.
      SELECT SINGLE * FROM t001w WHERE werks IN s_werks.
      IF sy-subrc NE 0.
        MESSAGE e001(319) WITH 'Plant does not Exist!'.
      ENDIF.
      SELECT SINGLE * FROM makt WHERE matnr IN s_matnr.
      IF sy-subrc <> 0.
        MESSAGE e001(319) WITH 'Material does not Exist!'.
      ENDIF.
    START-OF-SELECTION.
      BREAK-POINT.
      PERFORM get_data.
    PERFORM field_catalog.
    PERFORM display_data.
    END-OF-SELECTION.
    *FORM GET_DATA.
    FORM get_data.
      DATA: l_index LIKE sy-tabix.
    *To Fetch Data From Makt.
      SELECT b~werks a~matnr a~maktx
      INTO CORRESPONDING FIELDS OF TABLE int_out
      FROM makt AS a INNER JOIN marc AS b ON a~matnr = b~matnr
      WHERE a~matnr IN s_matnr
      AND b~werks IN s_werks.
      LOOP AT int_out.
        l_index = sy-tabix.
    read table int_out_new with key matnr = int_out-matnr.
        int_out_new-werks = int_out-werks.
        int_out_new-matnr = int_out-matnr.
        int_out_new-maktx = int_out-maktx.
        thread-tdname = int_out-matnr.
        CALL FUNCTION 'READ_TEXT'
          EXPORTING
            client                  = sy-mandt
            id                      = 'BEST'
            language                = sy-langu
            name                    = thread-tdname
            object                  = 'MATERIAL'
          TABLES
            lines                   = it_tlines
          EXCEPTIONS
            id                      = 1
            language                = 2
            name                    = 3
            not_found               = 4
            object                  = 5
            reference_check         = 6
            wrong_access_to_archive = 7
            OTHERS                  = 8.
    *Loop on it_tlines where long text is coming .
        LOOP AT it_tlines.
          IF sy-subrc = 0.
            p_index = sy-tabix.
            IF p_index = 1.
              int_out_new-tdline1 = it_tlines-tdline.
            ELSEIF p_index = 2.
              int_out_new-tdline2 = it_tlines-tdline.
            ELSEIF p_index = 3.
              int_out_new-tdline3 = it_tlines-tdline.
            ELSEIF p_index = 4.
              int_out_new-tdline4 = it_tlines-tdline.
            ELSEIF p_index = 5.
              int_out_new-tdline5 = it_tlines-tdline.
            ELSEIF p_index = 6.
              int_out_new-tdline6 = it_tlines-tdline.
            ELSEIF p_index = 7.
              int_out_new-tdline7 = it_tlines-tdline.
            ELSEIF p_index = 8.
              int_out_new-tdline8 = it_tlines-tdline.
            ELSEIF p_index = 9.
              int_out_new-tdline9 = it_tlines-tdline.
            ELSEIF p_index GE 10.
              int_out_new-tdline10 = it_tlines-tdline.
            ENDIF.
          ENDIF.
        ENDLOOP.
        DELETE ADJACENT DUPLICATES FROM int_out .
        APPEND int_out_new.
        CLEAR int_out_new.
      ENDLOOP.
    Field Catalog
    ***MATERIAL NO no
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'WERKS'.
      int_fcat-reptext_ddic = 'Plant'.
      APPEND int_fcat .
    ***MATERIAL NO no
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'MATNR'.
      int_fcat-reptext_ddic = 'Material N0'.
      APPEND int_fcat .
    *material Short Description
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'MAKTX'.
      int_fcat-reptext_ddic = 'Material Short Description'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '45'.
      APPEND int_fcat .
    Material Long Description1
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE1'.
      int_fcat-reptext_ddic = 'Material Long Description1'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description2
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE2'.
      int_fcat-reptext_ddic = 'Material Long Description2'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description3
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE3'.
      int_fcat-reptext_ddic = 'Material Long Description3'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description4
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE4'.
      int_fcat-reptext_ddic = 'Material Long Description4'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description5
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE5'.
      int_fcat-reptext_ddic = 'Material Long Description5'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description5
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE5'.
      int_fcat-reptext_ddic = 'Material Long Description5'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description5
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE5'.
      int_fcat-reptext_ddic = 'Material Long Description5'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description6
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE6'.
      int_fcat-reptext_ddic = 'Material Long Description6'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description7
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE7'.
      int_fcat-reptext_ddic = 'Material Long Description7'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description8
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE8'.
      int_fcat-reptext_ddic = 'Material Long Description8'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description9
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE9'.
      int_fcat-reptext_ddic = 'Material Long Description9'.
      int_fcat-datatype = 'CHAR'.
      int_fcat-outputlen = '75'.
      APPEND int_fcat .
    Material Long Description10
      int_fcat-tabname = 'INT_OUT_NEW'.
      int_fcat-fieldname = 'TDLINE10'.
      int_fcat-reptext_ddic = 'Material Long Description10'.
      int_fcat-datatype = 'CHAR'.
    int_fcat-outputlen = '75'.
      APPEND int_fcat .
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
        EXPORTING
          i_callback_program = sy-repid
          it_fieldcat        = int_fcat[]
        TABLES
          t_outtab           = int_out_new
        EXCEPTIONS
          program_error      = 1
          OTHERS             = 2.
    ENDFORM. "display_data
    Regards
    Nik.

    Nikhil,
    Instead of declaring 10 lines, please declare a variable of type STRING.
    Then append each line of your material text and concatenate it into the string.
    Then you can comfartably have one long text and have it displayed to the user.
    Please let us know if any further information is required.
    Thanks
    Ganesh.S

  • Is there a solution for dynamic reports and using Denes' Export to Excel?

    Oracle 10.2.0.4.0
    Application Express 3.2.1.00.10
    Hello all!
    I am using Denes Kubicek's Export_Excel_Pkg in my application and I'm having trouble exporting reports based on report regions created using a PL/SQL function body returning SQL query. I realize this is not an Oracle supported package, but was hoping someone here could shed some light on it. When I open up the Excel file, I get an error such as: Report Values Error: ORA-06550: line 22, column 5: PL/SQL: ORA-00907: missing right parenthesis.
    I've searched the forum and already have done as others suggested by modifying the REPLACE on the v_sql variable in Export_Excel_Pkg.Get_Usable_SQL, but it did not work. My assumption is that there is an issue with the value being passed to the wwv_flow_utilities.get_binds function. I could not find documentation on this function, but I'm thinking that it cannot extract the bind variables within a PL/SQL block. The report only works when I have just use SQL with bind variables...doesn't work for PL/SQL. Nor does it work for dynamic SQL reports that use a "lexical" parameter (e.g. using WHERE &p_and_condition.) to build the WHERE clause.
    Has anyone come up with a work-around to this? I somehow need to be able to extract reports based on dynamic SQL (or PL/SQL) to Excel.
    Help is appreciated!
    This is my example of a report based on PL/SQL function:
    DECLARE
      v_sql VARCHAR2(4000);
    BEGIN
      v_sql := q'[SELECT UPPER(t1.olo_name) agency_title,
           t1.class_code,
           UPPER(t1.class_title) class_title,
           t1.pay_plan,
           t1.pay_grade_code,
           COUNT(t1.appt_fte) total_employees,
           SUM(t1.appt_fte) filled_fte,
           AVG(DECODE(t2.pay_cycle_code,
                      'UB',((t1.wage_type1_amt_for_pay * 26)/t1.appt_fte),
                      'UM',((t1.wage_type1_amt_for_pay * 12)/t1.appt_fte),
                       0)) avg_annual_rate
       FROM my_schema.table1 t1,
                my_schema.table2 t2,
                my_schema.table3 pro
      WHERE t1.pos_wk = t2.pos_wk
        AND t2.pos_rate_active_flag = 'Y'
        AND t1.ops_ind = 'N'
        AND t1.employee_type IN ('1','2')
        AND pro.ROLE_CODE = :F101_DW_ROLE
        AND pro.pos_role_orgs_active_flag = 'Y']';
      IF :P_MULTI_OLO IS NOT NULL THEN
        v_sql := v_sql || q'[ AND INSTR(':'||']' || v('P_MULTI_OLO') || q'['||':', ':'||t1.olo_code||':') > 0]';     
      END IF;
      v_sql := v_sql || q'[GROUP BY UPPER(t1.olo_name), t1.class_code, UPPER(t1.class_title), t1.pay_plan, t1.pay_grade_code ORDER BY t1.class_code ASC, avg_annual_rate]';
      RETURN v_sql;
    END;This is my example using a SQL statement with a lexical parameter:
    SELECT UPPER(t1.olo_name) agency_title,
           t1.class_code,
           UPPER(t1.class_title) class_title,
           t1.pay_plan,
           t1.pay_grade_code,
           COUNT(t1.appt_fte) total_employees,
           SUM(t1.appt_fte) filled_fte,
           AVG(DECODE(t2.pay_cycle_code,
                      'UB',((t1.wage_type1_amt_for_pay * 26)/t1.appt_fte),
                      'UM',((t1.wage_type1_amt_for_pay * 12)/t1.appt_fte),
                       0)) avg_annual_rate
       FROM my_schema.table1 t1,
                my_schema.table2 t2,
                my_schema.table3 pro
      WHERE t1.pos_wk = t2.pos_wk
        AND t2.pos_rate_active_flag = 'Y'
        AND t1.ops_ind = 'N'
        AND t1.employee_type IN ('1','2')
        AND pro.ROLE_CODE = :F101_DW_ROLE
        AND pro.pos_role_orgs_active_flag = 'Y'
        &P63_AND_CONDITION.
      GROUP BY UPPER(t1.olo_name),
               t1.class_code,
               UPPER(t1.class_title),
               t1.pay_plan,
               t1.pay_grade_code   
    ORDER BY t1.class_code ASC, avg_annual_rateThe *&P63_AND_CONDITION.* value is populated based on a "Before Header" computation under Page Rendering, using the logic below. It is then used by the SQL query defined in the reports region at run time.
    DECLARE
      v_sql VARCHAR2(4000) := NULL;
    BEGIN
      v_sql := ' ';
      IF :P_MULTI_OLO IS NOT NULL THEN
        v_sql := v_sql || q'[ AND INSTR(':'||']' || v('P_MULTI_OLO') || q'['||':', ':' || t1.olo_code || ':') > 0]';     
      END IF;
      RETURN v_sql;
    END;

    Did you get an answer for this?

  • Help needed for dynamic update form

    I could really use some advice - I've been asked to build a time tracking application (basically a timesheet) and I have a fair bit done but the part I am really struggling with is the best way to accommodate some of the specifications. I am NOT a programmer (I have some coldfusion experience but nothing really advanced) so I have not managed to sucessfully integrate the various methods I've found on the web so far. The database is created and so are all the queries, and I have also written a cfc to handle the drop-down menu logic needed but I don't really know how to integrate it with the form.
    Our production server has ColdFusion MX7 so all the great functionality in the CF8 examples I can't use.
    The issue is the user should ideally be able to add/edit/delete multiple rows at once- I like CFGRID, and the HTML version seems best. The main issue with the Flash version is the scrolling to get to the insert/delete buttons- I couldn't see how to get rid of that. A separate add and edit form could be ok depending on how easy it is to use.
    One problem I have is that I can't work out how to have default values with the grid (the userID which is a session variable, and the date which is constantly changing- there is a cfcalendar for the user to change date).
    The biggest hurdle is the related select drop-downs I need- it's not quite as simple as the city,state,postcode examples. For the first drop down the pick an option- and for only 2 of those options there is a second drop-down. Anything else and it stops there. For the second drop-down, there are 2 options, and depending on which one of these they pick the 3rd drop-down pulls a query from one or another table in the database (2 entirely different things). The three  options have different database tables. The main timesheet table just stores the id number from those tables (so I also need to display the names on the drop-down from the options tables not the number).
    I played with simple and complicated javascript and coldfusion solutions as well, but because it's a form to update records and also because of the above specs I just couldn't get anything to work right. I tried binding with the cfc and nothing would bind, plus I don't know how to make all happen without a page reload.
    Does anyone have any advice for the best approach to this? As I mentioned I've got tables, queries and even a cfc but I'm not too clear on how to put it all together properly within the constraints of MX7.
    PS I also can't post a lot of code because of where I work- I know that's not helpful but am looking for the best approach to this, then I can work on the details. Right now I am jumping from solution to solution and not getting anywhere.

    Well, a lot of code has come and gone because I couldn't make it work, where I'm currently at is:
    <cfform name="updateform" id="updateform" action="#CurrentPage#?#CGI.QUERY_STRING#">
      <cfgrid name="MainData" height="400" insertbutton="add" deletebutton="remove" query="getMainData" insert="yes" delete="yes" rowheight="20"  selectmode="edit" format="html">
      <cfgridcolumn name="id" display="no">
    <cfgridcolumn name="userID" display="no">
    <cfgridcolumn name="entrydate" display="no">
    <cfgridcolumn name="activityID" >
    <cfgridcolumn name="typeID">
    <cfgridcolumn name="projectID" values="#ValueList(getProjects.id)#" valuesdisplay="#ValueList(getProjects.name)#">
    <cfgridcolumn name="time" width="10">
    <cfgridcolumn name="comment" width="150">
    </cfgrid>
    <cfinput type="hidden" name="entrydate" value="#Session.username#">
    <cfinput type="hidden" name="entrydate" value="#editdate#">
    <cfinput name="update" type="Submit" value="Update">
    </cfform>
    ** for some reason getProjects.name doesn't work and causes an error. I haven't worked out how to get the default inputs for the date and user ID to work either. I also tried binding and a flash form somewhere along the way.
    ** the CFC is below, #ds# didn't work and I had to put in the actual DSN name, not sure why, but anyway this is the logic of the thing. Ideally I would like to use this logic with the cfgrid, but I'm not sure if that is possible? It seems like it would be the most user friendly approach.
    The CFC so far is:
    <cfcomponent>
       <cffunction name="getActivities" access="remote" returnType="query">
            <cfquery name="getActivities" datasource="#ds#">
    SELECT * FROM timesheet_activities
    </cfquery>
            <cfreturn getActivities>
        </cffunction>
        <cffunction name="getTypes" access="remote" returnType="query">
        <cfargument name="Activity" type="any" required="true">
        <cfif ARGUMENTS.Activity EQ "">
            <cfset getType = "">
        <cfelse>
            <cfquery name="getTypes" datasource="#ds#">
            SELECT * FROM timesheet_type
            </cfquery>
        </cfif>
        <cfreturn getTypes>
        </cffunction>
        <cffunction name="GetProjects" access="remote" returnType="query">
        <cfargument name="Activity" type="any" required="true">
        <cfargument name="Type" type="any" required="true">
        <cfif ARGUMENTS.Activity EQ "" OR ARGUMENTS.Type EQ "">
            <cfset LstProjects = "">
        <cfelseif ARGUMENTS.Activity EQ "1" OR "3">
        <cfquery name="getProjects" datasource="#ds#">
    SELECT id,name FROM projectsa
    WHERE completed = 'false'
    </cfquery>
    <cfelse>
    <cfquery name="getEProjects" datasource="#dse#">
    SELECT id,name FROM projectsb
    WHERE statusID = '6'
    </cfquery>
        </cfif>
        <cfreturn getProjects>
        </cffunction>
    </cfcomponent>
    Any attempts to actually use the cfc didn't work. I tried to use it with a normal html update form and got the message- failed to bind, Activity didn't exist. I also tried to bind it to a flash grid. The argument for Activity needs to come from the drop-down Activity type selected. Maybe I'm missing something.
    ETA:
    just moved everything to the live MX7 server (because my dev server is Coldfusion8) and I get the following:
    Attribute validation error for tag CFGRID. The tag does not allow the attribute(s) BINDONLOAD,BIND.
    Does this mean I definitely can't use the CFC with the cfgrid on MX7? Or is there a way to do it?
    Any advice would be greatly appreciated.

  • Oracle tool for Dynamic Reporting?

    What Oracle tool\download allows users to do dynamic reporting?
    Thank you in advance,
    Wes

    Wes Gibbs,
    have you set goal for yourself to reach 50 or 100 posts in a day, posting the same message again and again? Please respect the forum rules.
    Hope you understand.
    Thanks,
    Kalyan

  • OUTGOING PAYMENT ROW INFORMATION WHERE IS IT STORED.  NEED FOR A REPORT

    OUTGOING PAYMENT ROW INFORMATION WHERE IS IT STORED.  NEED FOR A REPORT

    Try this thread:
    Query for outgoing payment
    Thanks,
    Gordon

  • XL Reporter - Toolbar is missing needed for "Generate Report"

    Hello - I am going thru the eLearning for XL Reporter.
    I have opened a template in XL reporter and I want to "Generate Report", however the toolbar shown in eLearning is not visible.
    Any advice? Thanks ahead of time!

    John,
    The toolbar often stays hidden when opening XL Reporter.  An easy way to get it to appear is to resize a column in the spreadsheet.  For whatever reason, this always makes it pop up for me.
    You could also turn it on in Excel:
    View > Toolbars
    There should be one for XL Reporter at the bottom
    Uncheck it and then recheck it
    That will force it to appear as well
    I believe your Excel Macro Security has something to do with this issue, but have never nailed it down.
    Hope this helps,
    Brad Windecker

  • Advice needed for Jasper Reports - Unacceptable File Size

    Hi,
    we are attempting to use Jasper Reports for online reporting. However, we have found that the filesize for generated reports in HTML formats are simply unacceptable. For example, a Jasper Report of 5000 records is 20MB in size! The download of such files simply takes too long. The reason we believe is due to the image rendering for 'white spaces'. Would greatly appreciate any advice on how to eradicate this problem.

    Have you tried posting this question at jasper forum:
    http://jasperreports.sourceforge.net/community.html
    http://sourceforge.net/forum/?group_id=36382

  • Oracle tool is used for dynamic reporting?

    What Oracle tool\download allows users to do dynamic reporting?
    Thank you in advance,
    Wes

    OBIEE does have the adhoc reporting capabilities (through OBIEE Answers).
    -bifacts
    http://www.obinotes.com

  • Logic needed for report: Parameter Group

    hi..friends,
    im dev a report: refernce std report - "S_ALR_87012178" is the tcode.  there they are giving 5 slabs: ie. under 'Output control Sel Scrn - in "Due date sorted List" '. but my requirement is to do same like that for 10 slabs.
    the values are dynamic. Accordingly we should display the amount falling in that specified period.
    i hav already fetched the data. but to display them, i hav struck.
    how to access the input and print them.
    i hav to use alv hierarchical seq display format.
    My decl:
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 01(30) text-050 for field p_slab1.
    SELECTION-SCREEN POSITION POS_LOW.
    PARAMETERS: p_slab1 LIKE rfpdo1-allgrogr OBLIGATORY DEFAULT '15',
                p_slab2 LIKE rfpdo1-allgrogr OBLIGATORY DEFAULT '30',
                p_slab3 LIKE rfpdo1-allgrogr OBLIGATORY DEFAULT '45',
                p_slab4 LIKE rfpdo1-allgrogr OBLIGATORY DEFAULT '60',
                p_slab5 LIKE rfpdo1-allgrogr OBLIGATORY DEFAULT '75',
                p_slab6 LIKE rfpdo1-allgrogr OBLIGATORY DEFAULT '90',
                p_slab7 LIKE rfpdo1-allgrogr OBLIGATORY DEFAULT '115',
                p_slab8 LIKE rfpdo1-allgrogr OBLIGATORY DEFAULT '130',
                p_slab9 LIKE rfpdo1-allgrogr OBLIGATORY DEFAULT '145'.
    SELECTION-SCREEN END OF LINE.
    suggest me logic pls.
    regards,
    Padmashree.

    Hi,
    Try out this.
    declare all the parameters in the block.
    selection-screen begin of block b2 with frame .
    parameter:  declare all the parameters.
    selection-screen end of block b2.
    hope it may help you.

  • Help Needed with Dynamic RePort PAges

    I've created a link that dynamically will generate a data
    report from my db. I have about 30 reports the client needs to be
    able to run. Do I have to create a separate page for every single
    recordset?? Is there a more efficient way to do this??

    You could make a drop down menu with the name of the report
    in it and then show that report on the redirect page using an if
    statement to determine which sql statement to run. Also you can
    have multiple recordset on a page.
    Are you using php, asp or cfm?

  • Help needed for ALV report

    Hi,
    i need to add coloums for the existing report which picks from G/L account.
    in this report I need to add some more columns from COSP-KSTAR, which shows the cost element details from G/L account.
    I need to restrict that cost element number according to the company code.
    Plz see this and let me know the things.
    1. I need to add FISCAL YEAR(COEP-GJAHR) in selection screen.
    2. I need to add column: Employee Cost (CSKS-KOSTL)
    3. add a column Staff Welfare (COSP-KSTAR) this is to restrict for the cost element 3000200 from G/L account
    4. add a column Recruitment restrict for the cost element(COSP-KSTAR) 3100040 from G/L account
    5. add a column Travels (suppressing some cost elements(COSP-KSTAR) and putting into Travels)
    6. add a column Subcontracts restrict for the cost element (COSP-KSTAR)3100360 from G/L account
    7. add a column Communication suppressing some cost elements and putting into Communication)
    8. add a column Rent restrict for the cost element (COSP-KSTAR)3100055 from G/L account
    9. add a column Back end Cost restrict for the cost element (COSP-KSTAR)3100065 from G/L account
    i can hardcode these cost elements.
    i did according to some of our sdn friends guidence but it is going to dump.
    hear i am sending the code what i changed.
    it is giving the error with the select.
    SELECT BUKRS KOKRS gjahr kstar OBJNR OBJNR_N1 PERIO  BEKNZ WKGBTR WOGBTR  FROM
    COEP  INTO TABLE
    IT_COEP FOR ALL ENTRIES IN IT_AUFK WHERE OBJNR = IT_AUFK-OBJNR and
    perio in S_PERIO.
    plz try to help me out in this issue.
    hear i am sending the complete code what i worte.
    *& Report  ZPROJECT_PROFIT2
    REPORT  ZPROJECT_PROFIT2.
    *********************MAIN DOCUMENTATION BLOCK*************************
    Project Code           :
    Program Name           :Zproject_profit1.
    Purpose of program     :This report will give the gross margin for a project as
    *a whole based on some selected input criteria.
    Author of program      :JAYA KRISHNA .B.
    INPUT/OUTPUT FILE      :nil
    TYPE-POOLS : SLIS."For ALV display.
    TABLES : COEP,  "CO Object: Line Items  (by period).
             AUFK,   "Order master data.
             csks,    "Cost center master data
             cosp.    "CO Objects
    *&  Include           ZSTRUCTURE
    types:    BEGIN OF TY_COEP ,            "structure of table COEP.
              BUKRS LIKE COEP-BUKRS,
              KOKRS LIKE COEP-KOKRS,
              OBJNR LIKE COEP-OBJNR,
               gjahr like coep-gjahr,
              kstar like coep-kstar,
              OBJNR_N1 LIKE COEP-OBJNR_N1,
              PERIO LIKE COEP-PERIO,
              BEKNZ LIKE COEP-BEKNZ,
              WKGBTR LIKE COEP-WKGBTR,
              WOGBTR LIKE COEP-WOGBTR,
              BELNR LIKE COEP-BELNR,
              END OF TY_COEP,
             BEGIN OF TY_AUFK ,             "structure of table AUFK.
             BUKRS LIKE AUFK-BUKRS,
             KOKRS LIKE AUFK-KOKRS,
             OBJNR LIKE AUFK-OBJNR,
             KTEXT LIKE AUFK-KTEXT,
             ANFAUFNR LIKE AUFK-ANFAUFNR,
             AUFEX LIKE AUFK-AUFEX,
             USER2 LIKE AUFK-USER2,
             USER0 LIKE AUFK-USER0,
             USER1 LIKE AUFK-USER1,
             USER3 LIKE AUFK-USER3,
             USER6 LIKE AUFK-USER6,
             USER7 LIKE AUFK-USER7,
             USER8 LIKE AUFK-USER8,
             ABKRS(10) TYPE C,
             USER9 LIKE AUFK-USER9,
             AUFNR LIKE AUFK-AUFNR,
           END OF TY_AUFK,
           begin of ty_csks,
           kokrs like csks-kokrs,
            kostl like csks-kostl,
            bukrs like csks-bukrs,
            objnr like csks-objnr,
                 end of ty_csks.
    DATA :   BEGIN OF IT_COSP occurs 100,
           OBJNR LIKE COSP-OBJNR,
           GJAHR LIKE COSP-GJAHR,
           KSTAR LIKE COSP-KSTAR,
           END OF IT_COSP.
    DATA : IT_COEP TYPE TABLE OF TY_COEP,     " Declaraton of tables COEP and AUFK.
           IT_AUFK TYPE TABLE OF TY_AUFK,
           IT_CSKS TYPE TABLE OF TY_CSKS.
          IT_COSP TYPE TABLE OF TY_COSP.
    DATA : WA_COEP LIKE LINE OF IT_COEP,      " Declaration of work areas for tables COEP and AUFK.
           WA_AUFK LIKE LINE OF IT_AUFK,
           WA_CSKS LIKE LINE OF IT_CSKS.
          WA_COSP LIKE LINE OF IT_COSP.
    DATA : BEGIN OF IT_DISPLAY OCCURS 0,      " Declaration of display table.
            OBJNR_N1 LIKE COEP-OBJNR_N1,
            OBJNR_N12 LIKE COEP-OBJNR_N1,
            KTEXT1 LIKE AUFK-KTEXT,
            WKGBTR LIKE COEP-WKGBTR,
            WOGBTR LIKE COEP-WOGBTR,
            WKGBTR1  LIKE COEP-WTGBTR,
            WOGBTR1 LIKE COEP-WOGBTR,
            ADDK LIKE COEP-WOGBTR,
            ADDO LIKE COEP-WOGBTR,
            ADDK1 LIKE COEP-WOGBTR,
            ADDO1 LIKE COEP-WOGBTR,
            PROFIT1 LIKE COEP-WOGBTR,
            PROFIT2 LIKE COEP-WOGBTR,
            BEKNZ LIKE COEP-BEKNZ,
            BUKRS LIKE AUFK-BUKRS,
            anfaufnr LIKE AUFK-anfaufnr,
            aufex like aufk-aufex,
            OBJNR LIKE AUFK-OBJNR,
            USER2 LIKE AUFK-USER2,
            USER0 LIKE AUFK-USER0,
            USER1 LIKE AUFK-USER1,
            USER3 LIKE AUFK-USER3,
            USER6 LIKE AUFK-USER6,
            USER7 LIKE AUFK-USER7,
            USER8 LIKE AUFK-USER8,
            ABKRS LIKE AUFK-ABKRS,
            USER9 LIKE AUFK-USER9,
            PERIO LIKE COEP-PERIO,
            AUFNR LIKE AUFK-AUFNR,
            STR(5) TYPE C,
            WORK(10) TYPE C,
           END OF IT_DISPLAY,
      : BEGIN OF IT_DISPLAY1 OCCURS 0,      " Declaration of second display table.
         OBJNR_N1 LIKE COEP-OBJNR_N1,
         OBJNR_N12 LIKE COEP-OBJNR_N1,
         KTEXT1 LIKE AUFK-KTEXT,
         WKGBTR LIKE COEP-WKGBTR,
         WOGBTR LIKE COEP-WOGBTR,
         WKGBTR1  LIKE COEP-WTGBTR,
         WOGBTR1 LIKE COEP-WOGBTR,
         ADDK LIKE COEP-WOGBTR,
         ADDO LIKE COEP-WOGBTR,
         ADDK1 LIKE COEP-WOGBTR,
         ADDO1 LIKE COEP-WOGBTR,
         PROFIT1 LIKE COEP-WOGBTR,
         PROFIT2 LIKE COEP-WOGBTR,
         BEKNZ LIKE COEP-BEKNZ,
         BUKRS LIKE AUFK-BUKRS,
         anfaufnr like aufk-anfaufnr,
         aufex like aufk-aufex,
         OBJNR LIKE AUFK-OBJNR,
         USER2 LIKE AUFK-USER2,
         USER0 LIKE AUFK-USER0,
         USER1 LIKE AUFK-USER1,
         USER3 LIKE AUFK-USER3,
         USER6 LIKE AUFK-USER6,
         USER7 LIKE AUFK-USER7,
         USER8 LIKE AUFK-USER8,
         ABKRS LIKE AUFK-ABKRS,
         USER9 LIKE AUFK-USER9,
         PERIO LIKE COEP-PERIO,
         AUFNR LIKE AUFK-AUFNR,
         STR(5) TYPE C,
         WORK(10) TYPE C,
        END OF IT_DISPLAY1.
    data : it_field type slis_fieldcat_alv,        " Declaration of ALV variables
           it_field_t type slis_t_fieldcat_alv,
            xlayout    TYPE slis_layout_alv.
    data : it_event type slis_t_event,
          wa_event like line of it_event.
    DATA : WA_TOP TYPE SLIS_LISTHEADER,
           IT_TOP TYPE SLIS_T_LISTHEADER.
    data:w_lines type i,
          w_occurs type i,
          STR(5) TYPE C,
          WORK(10) TYPE C.
          constants : c_selection type char20 value 'Selection based on'. " Declaration of a constant.
    selection-screen BEGIN OF BLOCK BLK WITH FRAME TITLE TEXT-000.
    SELECT-OPTIONS S_BUKRS FOR AUFK-BUKRS OBLIGATORY.
    SELECT-OPTIONS S_OBJNR FOR AUFK-AUFNR.
    SELECT-OPTIONS S_ANF FOR AUFK-ANFAUFNR.
    SELECT-OPTIONS S_AUFEX FOR AUFK-AUFEX.
    SELECT-OPTIONS S_USER2 FOR AUFK-USER2.
    SELECT-OPTIONS S_USER0 FOR AUFK-USER0.
    SELECT-OPTIONS S_USER1 FOR AUFK-USER1.
    SELECT-OPTIONS S_USER3 FOR AUFK-USER3.
    SELECT-OPTIONS S_USER6 FOR AUFK-USER6.
    SELECT-OPTIONS S_ABKRS FOR AUFK-ABKRS.
    SELECT-options s_gjahr for coep-gjahr obligatory.
    SELECT-OPTIONS S_PERIO FOR COEP-PERIO OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK BLK .
    SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
    PARAMETERS : ONSITE RADIOBUTTON GROUP RADI.
    PARAMETERS : OFFSHORE RADIOBUTTON GROUP RADI.
    PARAMETERS : BOTH RADIOBUTTON GROUP RADI.
    SELECTION-SCREEN END OF BLOCK BLK1 .
    start-of-selection.
    *ZAUFK
                                  " Selection of records from aufk to internal table.
    IF ONSITE EQ 'X' .
    SELECT
    BUKRS
    KOKRS
    OBJNR
    KTEXT
    anfaufnr
    aufex
    USER2
    USER0
    USER1
    USER3
    USER6
    USER7
    USER8
    ABKRS
    USER9
    AUFNR
    FROM AUFK INTO TABLE IT_AUFK WHERE BUKRS IN S_BUKRS AND
    anfaufnr IN s_anf AND
    aufex in s_aufex and
    aufnr IN S_OBJNR AND
    USER2 IN S_USER2 AND
    USER0 IN S_USER0 AND
    USER1 IN S_USER1 AND
    USER3 IN S_USER3 AND
    USER6 IN S_USER6 AND
    ABKRS IN S_ABKRS AND
    USER9 EQ 'X' .
    ENDIF.
    IF OFFSHORE EQ 'X'.
    SELECT
    BUKRS
    KOKRS
    OBJNR
    KTEXT
    anfaufnr
    aufex
    USER2
    USER0
    USER1
    USER3
    USER6
    USER7
    USER8
    ABKRS
    USER9
    AUFNR
    FROM AUFK INTO TABLE IT_AUFK WHERE BUKRS IN S_BUKRS AND
    anfaufnr IN S_anf AND
    aufex in s_aufex and
    aufnR IN S_OBJNR AND
    USER2 IN S_USER2 AND
    USER0 IN S_USER0 AND
    USER1 IN S_USER1 AND
    USER3 IN S_USER3 AND
    USER6 IN S_USER6 AND
    ABKRS IN S_ABKRS AND
    USER9 <> 'X'.
    ENDIF.
    IF BOTH EQ 'X'.
    SELECT
    BUKRS
    KOKRS
    OBJNR
    KTEXT
    anfaufnr
    aufex
    USER2
    USER0
    USER1
    USER3
    USER6
    USER7
    USER8
    ABKRS
    USER9
    AUFNR
    FROM AUFK INTO TABLE IT_AUFK WHERE BUKRS IN S_BUKRS AND
    anfaufnr IN S_anf AND
    aufex in s_aufex and
    aufNR IN S_OBJNR AND
    USER2 IN S_USER2 AND
    USER0 IN S_USER0 AND
    USER1 IN S_USER1 AND
    USER3 IN S_USER3 AND
    USER6 IN S_USER6 AND
    ABKRS IN S_ABKRS.
    ENDIF.
    *&  Include           ZCOEP
                                  " Selection of records from coep to internal table.
    SELECT BUKRS KOKRS gjahr kstar OBJNR OBJNR_N1 PERIO  BEKNZ WKGBTR WOGBTR  FROM
    COEP  INTO TABLE
    IT_COEP FOR ALL ENTRIES IN IT_AUFK WHERE OBJNR = IT_AUFK-OBJNR and
    perio in S_PERIO.
    *&  Include           ZPROFIT_CALC
                                 " Calculations for income and Profit of the employee.
    if not it_coep[] is initial.
        select objnr gjahr wrttp versn kstar from cosp into TABLE It_cosp for
    all entries in it_coep where objnr = IT_COEP-objnr .
    endif.
      LOOP AT IT_coep INTO WA_coep.
        read table IT_aufk into WA_aufk with key OBJNR = wa_coep-OBJNR.
    case it_cosp-kstar.
    when '3000200'.
    it_cosp-kstar = cosp-kstar.
    when '3100040'.
    it_cosp-kstar = cosp-kstar.
    when '3100360'.
    it_cosp-kstar = cosp-kstar.
    when '3100055'.
    it_cosp-kstar = cosp-kstar.
    when '3100065'.
    it_cosp-kstar = cosp-kstar.
    when '3100115'.
    it_cosp-kstar = cosp-kstar.
    when '3100120'.
    it_cosp-kstar = cosp-kstar.
    when '3100130'.
    it_cosp-kstar = cosp-kstar.
    when '3100135'.
    it_cosp-kstar = cosp-kstar.
    when '3100140'.
    it_cosp-kstar = cosp-kstar.
    when '3100145'.
    it_cosp-kstar = cosp-kstar.
    when '3100150'.
    it_cosp-kstar = cosp-kstar.
    when '3100155'.
    it_cosp-kstar = cosp-kstar.
    when '3100160'.
    it_cosp-kstar = cosp-kstar.
    when '3100165'.
    it_cosp-kstar = cosp-kstar.
    when '3100170'.
    it_cosp-kstar = cosp-kstar.
    endcase.
        IT_DISPLAY-BUKRS = WA_AUFK-BUKRS.
        IT_DISPLAY-anfaufnr = WA_AUFK-anfaufnr.
        it_display-aufex  = wa_aufk-aufex.
        IT_DISPLAY-OBJNR = WA_AUFK-OBJNR.
        IT_DISPLAY-USER2 = WA_AUFK-USER2.
        IT_DISPLAY-USER0 = WA_AUFK-USER0.
        IT_DISPLAY-USER1 = WA_AUFK-USER1.
        IT_DISPLAY-USER3 = WA_AUFK-USER3.
        IT_DISPLAY-USER6 = WA_AUFK-USER6.
        IT_DISPLAY-USER7 = WA_AUFK-USER7.
        IT_DISPLAY-USER8 = WA_AUFK-USER8.
        IT_DISPLAY-ABKRS = WA_AUFK-ABKRS.
        IT_DISPLAY-USER9 = WA_AUFK-USER9.
        IT_DISPLAY-KTEXT1 =  WA_AUFK-KTEXT.
        if WA_AUFK-abkrs = 01.
          IT_DISPLAY-STR = 'TM'.
        ENDIF.
        IF WA_AUFK-ABKRS = 02.
          IT_DISPLAY-STR = 'FP'.
        ENDIF.
        IF WA_AUFK-USER9 = 'X'.
          IT_DISPLAY-WORK = 'ONSITE'.
        ENDIF.
        IF WA_AUFK-USER9 <> 'X'.
          IT_DISPLAY-WORK = 'OFFSHORE'.
        ENDIF.
        it_display-ABKRS = it_display-user7.
        IF wa_coep-BEKNZ = 'S'.
          IT_DISPLAY-WKGBTR = WA_COEP-WKGBTR.
          IT_DISPLAY-WOGBTR = WA_COEP-WOGBTR.
          IT_DISPLAY-ADDK = IT_DISPLAY-ADDK + IT_DISPLAY-WKGBTR.
          IT_DISPLAY-ADDO = IT_DISPLAY-ADDO + IT_DISPLAY-WOGBTR.
          IT_DISPLAY-ADDK1 = 0.
          IT_DISPLAY-ADDO1 = 0.
          IT_DISPLAY-PROFIT1 = IT_DISPLAY-ADDK1 +  IT_DISPLAY-ADDK.
          IT_DISPLAY-PROFIT2 = IT_DISPLAY-ADDO1 +  IT_DISPLAY-ADDO.
          APPEND IT_DISPLAY.
        ENDIF.
        IF WA_COEP-BEKNZ = 'H'.
          IT_DISPLAY-WKGBTR1 = WA_COEP-WKGBTR.
          IT_DISPLAY-WOGBTR1 = WA_COEP-WOGBTR.
          IT_DISPLAY-ADDK1 = IT_DISPLAY-ADDK + IT_DISPLAY-WKGBTR1.
          IT_DISPLAY-ADDO1 = IT_DISPLAY-ADDO + IT_DISPLAY-WOGBTR1.
          IT_DISPLAY-ADDK = 0.
          IT_DISPLAY-ADDO = 0.
          IT_DISPLAY-PROFIT1 = IT_DISPLAY-ADDK1 +  IT_DISPLAY-ADDK.
          IT_DISPLAY-PROFIT2 = IT_DISPLAY-ADDO1 +  IT_DISPLAY-ADDO.
          APPEND IT_DISPLAY.
        ENDIF.
        collect it_display into it_display1.
        clear it_display.
      ENDLOOP.
                        "calc
    *&  Include           ZPROFIT_DISPLAY
      LOOP AT IT_DISPLAY1.                                         "it_display.
        read table IT_COEP into WA_COEP with key OBJNR =
        IT_DISPLAY-OBJNR.
        read table IT_AUFK into WA_AUFK with key aufnr = IT_DISPLAY-aufnr.
        if WA_AUFK-abkrs = 01.
          STR = 'TM'.
        ENDIF.
        IF WA_AUFK-ABKRS = 02.
          STR = 'FP'.
        ENDIF.
        IF WA_AUFK-USER9 = 'X'.
          WORK = 'ONSITE'.
        ENDIF.
        IF WA_AUFK-USER9 <> 'X'.
          WORK = 'OFFSHORE'.
        ENDIF.
      endloop.
      clear it_field.
      it_field-col_pos = 1.
      it_field-fieldname = 'AUFNR'.
      it_field-seltext_l = 'project id.'.
      it_field-outputlen = 15.
      append it_field to it_field_t.
      CLEAR it_field.
      clear it_field.
      it_field-col_pos = 2.
      it_field-fieldname = 'KTEXT1'.
      it_field-seltext_l = 'Project Name'.
      it_field-outputlen = 20.
      append it_field to it_field_t.
      CLEAR it_field.
      clear it_field.
      it_field-col_pos = 3.
      it_field-fieldname = 'USER7'.
      it_field-seltext_l = 'Start Date'.
      it_field-do_sum = 'X'.
      it_field-outputlen = 20.
      append it_field to it_field_t.
      CLEAR it_field.
      clear it_field.
      it_field-col_pos = 4.
      it_field-fieldname = 'USER8'.
      it_field-seltext_l = 'End Date'.
      it_field-do_sum = 'X'.
      it_field-outputlen = 20.
      append it_field to it_field_t.
      CLEAR it_field.
      clear it_field.
      it_field-col_pos = 5.
      it_field-fieldname = 'USER2'.
      it_field-seltext_l = 'Location'.
      it_field-do_sum = 'X'.
      it_field-outputlen = 20.
      append it_field to it_field_t.
      CLEAR it_field.
      clear it_field.
      it_field-col_pos = 6.
      it_field-fieldname = 'USER0'.
      it_field-seltext_l = 'Vertical'.
      it_field-do_sum = 'X'.
      it_field-outputlen = 20.
      append it_field to it_field_t.
      CLEAR it_field.
      it_field-col_pos = 7.
      it_field-fieldname = 'USER1'.
      it_field-seltext_l = 'Sub_vertical'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
      it_field-col_pos = 8.
      it_field-fieldname = 'USER3'.
      it_field-seltext_l = 'Technology'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
      it_field-col_pos = 9.
      it_field-fieldname = 'USER6'.
      it_field-seltext_l = 'Department'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
      it_field-col_pos = 10.
      it_field-fieldname = 'WORK'.
      it_field-seltext_l = 'Onsite/Offshore'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
      it_field-col_pos = 11.
      it_field-fieldname = 'STR'.
      it_field-seltext_l = 'T&M/FP'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
    it_field-col_pos = 12.
      it_field-fieldname = 'KOSTL'.
      it_field-seltext_l = 'EMP COST'.
      it_field-outputlen = 10.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
    it_field-col_pos = 13.
      it_field-fieldname = 'KSTAR'.
      it_field-seltext_l = 'STAFF WELFARE'.
      it_field-outputlen = 10.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
    it_field-col_pos = 14.
      it_field-fieldname = 'KSTAR'.
      it_field-seltext_l = 'RECRUITMENT'.
      it_field-outputlen = 10.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
    it_field-col_pos = 15.
      it_field-fieldname = 'KSTAR'.
      it_field-seltext_l = 'TRAVELS'.
      it_field-outputlen = 10.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
    it_field-col_pos = 16.
      it_field-fieldname = 'KSTAR'.
      it_field-seltext_l = 'SUBCONTRACT'.
      it_field-outputlen = 10.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
    it_field-col_pos = 17.
      it_field-fieldname = 'KSTAR'.
      it_field-seltext_l = 'COMMUNICATION'.
      it_field-outputlen = 10.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
    it_field-col_pos = 18.
      it_field-fieldname = 'KSTAR'.
      it_field-seltext_l = 'RENT'.
      it_field-outputlen = 10.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
    it_field-col_pos = 19.
      it_field-fieldname = 'KSTAR'.
      it_field-seltext_l = 'BACKEND COST (PROJECT EXP)'.
      it_field-outputlen = 10.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
    it_field-col_pos = 20.
      it_field-fieldname = 'ADDO'.
      it_field-seltext_l = 'Direct costs'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
      it_field-col_pos = 21.
      it_field-fieldname = 'ADDO1'.
      it_field-seltext_l = 'Income'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
      it_field-col_pos = 22.
      it_field-fieldname = 'PROFIT2'.
      it_field-seltext_l = 'Profit(income-costs)'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
      it_field-col_pos = 23.
      it_field-fieldname = 'ADDK'.
      it_field-seltext_l = 'Direct costs(Grp cur)'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
      it_field-col_pos = 24.
      it_field-fieldname = 'ADDK1'.
      it_field-seltext_l = 'Income(Grp Cur)'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
      it_field-col_pos = 25.
      it_field-fieldname = 'PROFIT1'.
      it_field-seltext_l = 'Profit(income-costs)'.
      it_field-outputlen = 20.
      it_field-do_sum = 'X'.
      append it_field to it_field_t.
      CLEAR it_field.
      xlayout-zebra = 'X'.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
         I_CALLBACK_PROGRAM                = 'ZPROJECT_PROFIT1'
      I_CALLBACK_PF_STATUS_SET          = ' '
         I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'
         I_CALLBACK_TOP_OF_PAGE            = 'TOP_OF_PAGE_PROFIT'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
         IS_LAYOUT                         = xlayout
         IT_FIELDCAT                       =  it_field_t
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
         I_DEFAULT                         = 'X'
         I_SAVE                            = ' '
      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                          = IT_DISPLAY1
    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.
      clear it_field_t.
      "it_display.
    FORM USER_COMMAND using r_ucomm like sy-ucomm rs type slis_selfield.
      include zinteractive_profit."Secondary list for calling KO03.
    ENDFORM.                    "USER_COMMAND.
    Thanks & Regards,
    Lakshmi..

    Hi,
    i did according to ur suggession.
    now it is going dump.
    and it is telling like this.
    2629               i_event_name      = 'SUBTOTAL_TEXT'
    2630               is_subtottxt_info = ls_subtot_info
    2631               ip_subtot_line    = lr_data
    2632             changing
    2633               c_subtottxt       = l_subtottxt.
    2634           ls_lvc_data-value = l_subtottxt.
    2635
    2636           append ls_lvc_data to ct_lvc_data.
    2637         endif.
    2638
    2639 ************************************
    2640 * Column per Fieldcat Entry
    2641 ************************************
    2642         clear ls_lvc_data-style.
    2643         loop at it_fcat_local assigning <ls_fcat>
    2644                 where tech ne 'X' and no_out ne 'X'.
    2645           if l_invisible eq 'X'.
    2646             clear l_invisible.
    2647             if <ls_fcat>-do_sum is initial.
    2648               continue.
    2649             else.
    2650               clear ls_lvc_data-col_pos.
    2651             endif.
    2652           endif.
    2653
    2654           add 1 to ls_lvc_data-col_pos.
    2655
    2656           assign component <ls_fcat>-fieldname
    2657                            of structure <ls_data> to <l_field_val
    2658           if sy-subrc ne 0.
    >>>>>             message x000(0k).
    2660           endif.
    2661
    2662 *... work on average
    2663           if <ls_fcat>-do_sum eq 'C'.
    2664             clear l_entries.
    2665
    2666             assign space to <l_unit>.
    2667             if not <ls_fcat>-cfieldname is initial.
    2668               assign component <ls_fcat>-cfieldname
    2669                      of structure <ls_data> to <l_unit>.
    2670             endif.
    2671             if not <ls_fcat>-qfieldname is initial.
    2672               assign component <ls_fcat>-qfieldname
    2673                      of structure <ls_data> to <l_unit>.
    2674             endif.
    2675
    2676             l_from = ls_grpl-index_from.
    2677             l_to   = ls_grpl-index_to.
    2678             if ls_grpl-index_from is initial and
    plz any of u help me to come out with solution.
    Thanks & Regards,
    Lakshmi..

Maybe you are looking for

  • Photo albums on iphone

    How do I save more than one photo album on my iphone?

  • Two computers - desktop for songs, laptop for podcasts

    Hi - I'm sure that for a while I was succesfully synch'ing just songs from my desktop and just podcasts from my laptop. Now everytime I synch the desktop it wipes all my podcasts. Whats going wrong? Thanks, Darren

  • What happened to my external LaCie drives?

    I have two LaCie external drives attached to my iMac. Unfortunately, they are both named LaCie (poor planning on my part). I wanted to rename them and didn't know how. When I opened finder I clicked on the arrows to the right of the drive names think

  • Using Tokenizer

    I have one simple question about using the Tokenizer function. Can I use anything as the separator for the string or do I have to use \t (Tab)? All the examples I've seen use the Tab. I would like to use a pipe ( | ) instead since this character will

  • Proliant with p400 drive failure. Will not rebuild.

    I am having trouble wiht a proliant server with a p400 smart array controller. The firmware has been updated. There are 12 drives total with 3 logical drives in RAID 1+0. (4 drives each). The first logical drive uses the top row of disks. The first d