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
RKIf 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 -
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,
WesWes 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,
WesOBIEE 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? -
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
-
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
-
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