Doubts creating a line report in BAM 11 tp4
Hi all,
I have this scenario here, I want to create a line report with multiple lines, for example:
I have a a dinamic variable wich is my sale guys, so that can be N sale guys, and I want to know how much they sold for a period of time wich I will input as a filter the begining and ending day, so at axle X I will have the dates and at Y I wil have the quantity, the problem is the only way I found to do this report was adding one Data Object for each sales guy, but that is a problem if I hire another sales guy I will have to change the report and I want to this dinamically because I have in my sales table the sales guy id so it will be more usable if there is a solution for this case.
Thanks all
Mario
Mario
You could use a manage dataobject approach with a line chart or a stacked bar chart. An example is the Stacked bar chart in BAM-CEP sample demo.
This was part of TP4 I believe.
Just set the filter for each sales id.
Let me know if this helps.
Payal
Similar Messages
-
Create Dotted line reporting and direct reporting btwn org unit to org unit
Hi,
Currently I am working on matrix reporting structure. My requirement is to identify the dotted line reporting as well as direct reporting between org units to org units and where the relationships are storing and which tables.
Can somebody please help me in this process.
Thanks,
kamalesh
91-9913532050Transaction code is ppms for matrix
Dimension 1- 50005733-A , and what evaluation path?
Dimension 2-50005837-C, 50005856-D what eavluation path?
relationship ?
B position is reporting to A and D org unit,C org unit reporting to Reg head BR these are direct relationship in existing org structure.
Requirements:
1.Cleint needs C and D wants to reports A in dotted line relationships.
2.cleint needs dotted line reports C and A and direct reports of A,Cand D. -
How to create 2 lines header in Report painter
Hi. I am not good at Report painter. I want to create 2 lines header in Report painter just like SAP std report.
When I create a new form, I only have one line header form but cannot add additional header line.
I am looking at the 0SAPFS10-01 Trans.Fig.- Balances. which has two header lines
Debit Credit Balance Accumulated Balanc
Periods &1FY &1FY &1FY &1FY
I can create only one header just like
Periods Debit Credit Balance Accumulated Balanc
cannot add additional line for
&1FY &1FY &1FY &1FY
please advise me
thanks in advance.In report painter you can select variouselements based on which the data will be pulled. I haven't seen any report painter with two header lines and don't think report painter allows that. But for your requirement I believe you can select the periods in the header line itself.
-
Error installing BAM tp4 in ubuntu how to correct?
Hello I m trying to install BAM tp4 in Ubuntu and I m getting this error and I dont know how to deal with that because I m very new using Ubuntu.
[echo] Changing oc4j ports with following values:
HTTP Port : 8988 -> 8988
RMI Port : 23891 -> 23891
RMI SSL Port: 24043 -> 24043
JMS Port : ${jms},9227 -> 9227
[echo] Create jms queues/topics from new oc4j jms template
[echo] Changing jms.xml to use port : 9227
[echo]
* Configuring SOA Infrastructure. This will take 5-10 minutes. *
* Summary of SOA configuration parameters: *
** Oracle Home = /jdevtp4/
** Oracle Instance = /root/.jdeveloper/system11.1.1.0.22.49.49
** SOA Database = localhost:1521:XE
** SOA Database User = jdev_soainfra
** HTTP Port = 8988
** RMI Port = 23891
** JMS Port = 9227
** Component Type = o.j2ee
** Component Name = embedded-oc4j
** Configure OWSM = false
** Configure SOA Console = true
** Configure B2B UI = false
** Configure XEngine = false
[echo] Completed adfinstaller - standalone install
[echo] ==Seeding SOAAdmin app roles==
[echo] Instance home: /root/.jdeveloper/system11.1.1.0.22.49.49/o.j2ee/embedded-oc4j
[echo] JPS config: /root/.jdeveloper/system11.1.1.0.22.49.49/o.j2ee/embedded-oc4j/config/jps-config.xml
[echo] ==Grant SOAAdmin app role to fmwadmin ==
[echo] ==Storing fmwadmin user credential in csf ==
[java] oracle.security.jps.service.credstore.CredentialAlreadyExistsException: The credential with map name BPM-SERVICES and key BPM-SERVICES already exists.
[java] at oracle.security.jps.internal.credstore.ssp.SspCredentialStore.setCredential(SspCredentialStore.java:551)
[java] at oracle.bpel.services.common.util.CSFStore.main(CSFStore.java:130)
[echo] ==Seeding optional demo users==
[echo] Seed groups: ${nogroup}
[echo] Instance home: /root/.jdeveloper/system11.1.1.0.22.49.49/o.j2ee/embedded-oc4j
[echo] JPS config: /root/.jdeveloper/system11.1.1.0.22.49.49/o.j2ee/embedded-oc4j/config/jps-config.xml
[echo] ==Starting standalone oc4j. Check server log /root/.jdeveloper/system11.1.1.0.22.49.49/o.j2ee/embedded-oc4j/log/startsoa.log.
[echo] ==Waiting max 420 second(s) for startup of URL http://administrator-vm.:8988...
BUILD FAILED
/jdevtp4/install/bpel/build.xml:10: The following error occurred while executing this line:
/jdevtp4/install/bpel/soa-infra-config.xml:48: The following error occurred while executing this line:
/jdevtp4/install/bpel/soa-infra-config.xml:89: ***************************************************
* Configuring SOA Infrastructure has FAILED.
* If following log files exists, please check them for possible cause:
* /root/.jdeveloper/system11.1.1.0.22.49.49/o.j2ee/embedded-oc4j/install/tmp/soa-infra-java.log
* /root/.jdeveloper/system11.1.1.0.22.49.49/o.j2ee/embedded-oc4j/log/startsoa.log
Total time: 8 minutes 19 seconds
this is the content of the /etc/enviroment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/:/Oracle-BAM-11/bin"
JOH="/jdevtp4"
JAVA_HOME="/usr/java/jdk1.5.0_18"
JDEV_USER_DIR="/jdevinstance"
BAM_OC4J_HOME="/Oracle-BAM-11"
ORACLE_HOME="/usr/lib/oracle/xe/app/oracle/product/10.2.0/server"
CLASSPATH="/Oracle-BAM-11/webservices/lib/wsclient.jar:/Oracle-BAM-11/webservices/lib/weblogic.jar"
LANGUAGE="en_US:en"
LANG="en_US.UTF-8"
the /root/.jdeveloper/system11.1.1.0.22.49.49/o.j2ee/embedded-oc4j/install/tmp/soa-infra-java.log it is empty
this is the content of the /root/.jdeveloper/system11.1.1.0.22.49.49/o.j2ee/embedded-oc4j/log/startsoa.log
Using JAVA_HOME=/usr/java/jdk1.5.0_18/jre/..
May 6, 2009 5:48:33 PM oracle.j2ee.xml.XMLMessages warningException
WARNING: Exception Encountered
then I start Configure SOA again and I got this at /root/.jdeveloper/system11.1.1.0.22.49.49/o.j2ee/embedded-oc4j/log/startsoa.log
Using JAVA_HOME=/usr/java/jdk1.5.0_18/jre/..
May 7, 2009 10:10:23 AM oracle.j2ee.xml.XMLMessages warningException
WARNING: Exception Encountered
May 7, 2009 10:10:47 AM oracle.j2ee.corba.OrbMessages warningUnableToStartNamingService
WARNING: Error starting naming service
org.omg.CORBA.INITIALIZE: Could not create server socket (5655): java.net.BindException: Address already in use vmcid: 0x0 minor code: 0 completed: No
at org.jacorb.orb.iiop.IIOPListener$Acceptor.createServerSocket(IIOPListener.java:577)
at org.jacorb.orb.iiop.IIOPListener$Acceptor.init(IIOPListener.java:414)
at org.jacorb.orb.iiop.IIOPListener.configure(IIOPListener.java:160)
at org.jacorb.orb.etf.FactoriesBase.newInstance(FactoriesBase.java:123)
at org.jacorb.orb.etf.FactoriesBase.create_listener(FactoriesBase.java:72)
at org.jacorb.orb.BasicAdapter.configure(BasicAdapter.java:104)
at org.jacorb.orb.ORB.getRootPOA(ORB.java:951)
at org.jacorb.orb.ORB.resolve_initial_references(ORB.java:1237)
at oracle.oc4j.corba.jacorb.JacorbServerOrbManagerProxy.getRootPoa(JacorbServerOrbManagerProxy.java:165)
at oracle.oc4j.corba.jacorb.JacorbServerOrbManagerProxy.startNamingService(JacorbServerOrbManagerProxy.java:106)
at oracle.oc4j.corba.ServerOrbManager.startNamingService(ServerOrbManager.java:104)
at com.oracle.iiop.server.IIOPServerExtensionProvider.preInitApplicationServer(IIOPServerExtensionProvider.java:47)
at com.evermind.server.ApplicationServer.serverExtensionPreInit(ApplicationServer.java:1467)
at com.evermind.server.ApplicationServer.setConfig(ApplicationServer.java:1162)
at oracle.oc4j.server.ServerFactory$Worker.start(ApplicationServerFactory.java:249)
at oracle.oc4j.server.ServerFactory$Worker.run(ApplicationServerFactory.java:259)
at java.lang.Thread.run(Thread.java:595)
Anybody can help with this?
Thanks
Mario MesquitaI have installed oracle 9i in my red hat linux box, but I'm getting few problems (Logging as root):
r.- the Oracle services must started as the user Oracle not as root.
2) if I try my installation using sqlplus scott/tiger, I get the following:
QL*Plus: Release 9.2.0.1.0 - Production on Wed Mar 3 20:00:17 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress
r.- With what user did you start that instance ?
Joel Pérez -
Doubt regarding editable ALV report using Classes
I need to create an ALV report and make few fields editable
and i need to update the changes to the corresponding database tables
for that please suggest me some idea or provide me sample code for that
urgentHi ramesh,
Please check this example program. I think it will help for some extent.
[code]&----
*& Report ZSUMA_INTERACTIVEREPORT *
report zsuma_interactivereport.
tables: vbak.
data :gr_alvgrid type ref to cl_gui_alv_grid,
gr_cc_name type scrfname value 'CC_ALV',
gr_ccontainer type ref to cl_gui_custom_container,
gr_fieldcat type lvc_t_fcat,
gr_layout type lvc_s_layo,
gr_sort type lvc_t_sort,
gr_get_cell type lvc_t_cell,
gr_set_cell type lvc_t_cell,
gr_hyper type lvc_t_hype,
gr_drop_down type lvc_t_drop,
is_variant type disvariant,
line_number type lvc_s_roid-row_id,
line(5) type c ,
cell_value type lvc_value.
data: begin of it_vbak occurs 0,
vbeln type vbak-vbeln,
erdat like vbak-erdat,
erzet like vbak-erzet,
netwr like vbak-netwr,
waerk like vbak-waerk,
*Below field is useful for making the entire row with different colors.
it must be a char of 4.and layout-info_fname should populate with
*this field.
rowcolor(4) type c,
*Below field is useful for making the INDIVIDUAL CELL with different
*colors.for this we have to include structure of type lvc_t_scol.
*layout-ctab_fname should be populate with this field.
cellcolor type lvc_t_scol,
*below field is added for for providing the hyperlinks to perticular
*field. at the time of field catalog , it_fcatalog-web_field should be
*populate with this field.
vbeln_hyper type int4,
*For displaying one cell as button.we have to declare one styles
*internal table .it has to be populate.at layout structure this table
*name has to be populate at layout-stylename.
cellstyle type lvc_t_styl,
end of it_vbak.
*& SELECTION SCREEN
selection-screen begin of block b1 with frame title text-001.
select-options s_vbeln for vbak-vbeln.
selection-screen end of block b1.
start-of-selection.
select vbeln
erdat
erzet
netwr
waerk
from vbak
into corresponding fields of table it_vbak
where vbeln in s_vbeln.
data: wa_cellcolor type lvc_s_scol,
wa_style type lvc_s_styl.
loop at it_vbak.
FOR ROW COLORING
if sy-tabix = 1.
it_vbak-rowcolor = 'C511'.
FOR PUTTING THE HYPERLINKS ON VBELN FIELD
it_vbak-vbeln_hyper = '1'.
modify it_vbak.
endif.
FOR CELL COLORING
if sy-tabix = 2.
wa_cellcolor-fname = 'ERZET'.
wa_cellcolor-color-col = '6'.
wa_cellcolor-color-int = '1'.
wa_cellcolor-color-inv = '1'.
append wa_cellcolor to it_vbak-cellcolor.
modify it_vbak index 2.
endif.
FOR DISPLAYING THE CELL AS A BUTTON
clear it_vbak-cellstyle.
at last.
read table it_vbak index sy-tabix.
wa_style-fieldname = 'NETWR'.
wa_style-style = cl_gui_alv_grid=>mc_style_button.
append wa_style to it_vbak-cellstyle .
modify it_vbak .
endat.
endloop.
if not it_vbak[] is initial.
call screen 100.
endif.
*CLASS DEFINITION FOR HANDLING THE EVENTS IN ALV GRID
class gr_event_handler definition.
public section.
methods:handle_hotspot_click
for event hotspot_click of cl_gui_alv_grid
importing e_row_id e_column_id es_row_no.
endclass.
*CLASS IMPLEMENTATIONFOR HANDLING THE EVENTS IN ALV GRID
class gr_event_handler implementation.
method handle_hotspot_click.
perform handle_hotspot_click using e_row_id e_column_id es_row_no.
endmethod.
endclass.
*& Form BUILDING_FIELDCATALOG
text
<--P_GR_FIELDCAT text
form building_fieldcatalog changing p_gr_fieldcat type lvc_t_fcat.
data s_fieldcat type lvc_s_fcat.
s_fieldcat-fieldname = 'VBELN'.
s_fieldcat-outputlen = '15'.
s_fieldcat-col_pos = '1'.
s_fieldcat-coltext = 'DOCCUMENT NO.'.
s_fieldcat-key = ' '.
s_fieldcat-emphasize = 'C511'.
s_fieldcat-web_field = 'VBELN_HYPER'.
append s_fieldcat to p_gr_fieldcat .
clear s_fieldcat.
s_fieldcat-fieldname = 'ERDAT'.
s_fieldcat-outputlen = '15'.
s_fieldcat-col_pos = '2'.
s_fieldcat-coltext = 'REC CREATE DATE.'.
s_fieldcat-emphasize = 'C311'.
s_fieldcat-hotspot = 'X'.
append s_fieldcat to p_gr_fieldcat .
clear s_fieldcat.
s_fieldcat-fieldname = 'ERZET'.
s_fieldcat-outputlen = '15'.
s_fieldcat-col_pos = '3'.
s_fieldcat-coltext = 'TIME ENTRY.'.
*S_FIELDCAT-EMPHASIZE = 'C311'.
append s_fieldcat to p_gr_fieldcat .
clear s_fieldcat.
s_fieldcat-fieldname = 'NETWR'.
s_fieldcat-outputlen = '15'.
s_fieldcat-col_pos = '4'.
s_fieldcat-emphasize = 'C311'.
s_fieldcat-coltext = 'NET WEIGHT.'.
s_fieldcat-do_sum = 'X'.
append s_fieldcat to p_gr_fieldcat .
clear s_fieldcat.
s_fieldcat-fieldname = 'WAERK'.
s_fieldcat-outputlen = '5'.
s_fieldcat-col_pos = '5'.
s_fieldcat-emphasize = 'C511'.
s_fieldcat-coltext = 'CURR.'.
FOR PUTTING THE DROP DOWN BOX.
s_fieldcat-drdn_hndl = '1'.
s_fieldcat-edit = 'X'.
append s_fieldcat to p_gr_fieldcat .
clear s_fieldcat.
endform. " BUILDING_FIELDCATALOG
*& Form CREATE_CCONTAINER_INSTANCE
text
--> p1 text
<-- p2 text
form create_ccontainer_instance .
create object gr_ccontainer
exporting
container_name = gr_cc_name
exceptions
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
others = 6
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " CREATE_CCONTAINER_INSTANCE
*& Form CREATE_ALVGRID_INSTANCE
text
--> p1 text
<-- p2 text
form create_alvgrid_instance .
create object gr_alvgrid
exporting
i_parent = gr_ccontainer
exceptions
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
others = 5
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " CREATE_ALVGRID_INSTANCE
*& Form DISPLAYING_ALVGRID
text
--> p1 text
<-- p2 text
form displaying_alvgrid .
call method gr_alvgrid->set_table_for_first_display
exporting
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
is_variant = is_variant
i_save = 'A'
I_DEFAULT = 'X'
is_layout = gr_layout
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
it_hyperlink = gr_hyper
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
changing
it_outtab = it_vbak[]
it_fieldcatalog = gr_fieldcat
it_sort = gr_sort
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
*CALL METHOD GR_ALVGRID->GET_FRONTEND_LAYOUT
IMPORTING
ES_LAYOUT = GR_LAYOUT
*GR_LAYOUT-GRID_TITLE = 'HAI ALV'.
*CALL METHOD GR_ALVGRID->SET_FRONTEND_LAYOUT
EXPORTING
IS_LAYOUT = GR_LAYOUT
endform. " DISPLAYING_ALVGRID
*& Form REFRESH_DISPLAY_TABLE
text
--> p1 text
<-- p2 text
form refresh_display_table .
call method gr_alvgrid->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
exceptions
finished = 1
others = 2
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " REFRESH_DISPLAY_TABLE
*& Form SETTING_LAYOUT
text
<--P_GR_LAYOUT text
form setting_layout changing p_gr_layout type lvc_s_layo.
p_gr_layout-grid_title = 'ALV GRID USING ABAP OBJECTS'.
p_gr_layout-zebra = 'X'.
p_gr_layout-no_toolbar = ''.
p_gr_layout-sel_mode = 'D'.
p_gr_layout-info_fname = 'ROWCOLOR'.
p_gr_layout-ctab_fname = 'CELLCOLOR'.
p_gr_layout-stylefname = 'CELLSTYLE'.
endform. " SETTING_LAYOUT
*& Module STATUS_0100 OUTPUT
text
module status_0100 output.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
set pf-status 'MENU'.
if gr_alvgrid is initial.
*CREATING THE CONTAINER INSTANCE BY SENDING THE CONTAINER NAME( IT HAS
*TO COINSIDE WITH COSTUM CONTROL NAME OF TRANSACTION SCREEN
perform create_ccontainer_instance.
perform create_alvgrid_instance.
*VARIANT POPULATION.
perform setting_variants changing is_variant.
*BELOW FORM IS USEFUL TO FILL THE HYPER LINK TABLE AND WE PASS THAT
*TABLE TO 'IT_HYPERLINK' PARAMETER IN FIRST DISPLAY METHOD.
perform setting_hyperlinks_field changing gr_hyper.
*TO MAKE THE COLOUMN AS DROP DOWN.
perform setting_dropdown_column changing gr_drop_down.
perform building_fieldcatalog changing gr_fieldcat.
perform setting_layout changing gr_layout.
perform setting_sorting changing gr_sort.
perform setting_cells changing gr_set_cell.
perform displaying_alvgrid.
*PERFORM GETTING_CELL_DETAILS CHANGING GR_GET_CELL. " IT IS NOT WORKING
FOR ME AND I HAVE DOUBT .
perform creating_event_object.
*PERFORM REFRESH_DISPLAY_TABLE.
endif.
endmodule. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
module user_command_0100 input.
case sy-ucomm.
when 'BACK'.
leave to screen 000.
endcase.
endmodule. " USER_COMMAND_0100 INPUT
*& Form SETTING_SORTING
text
<--P_GR_SORT text
form setting_sorting changing p_gr_sort type lvc_t_sort.
data: lr_sort type lvc_s_sort.
lr_sort-spos = '1'.
lr_sort-fieldname = 'VBELN'.
lr_sort-up = 'X'.
append lr_sort to p_gr_sort.
lr_sort-spos = '2'.
lr_sort-fieldname = 'ERDAT'.
lr_sort-up = 'X'.
append lr_sort to p_gr_sort.
endform. " SETTING_SORTING
*& Form GETTING_CELL_DETAILS
text
<--P_GR_GET_CELL text
form getting_cell_details changing p_gr_get_cell.
call method gr_alvgrid->get_selected_cells
importing
et_cell = p_gr_get_cell
*CELL_VALUE = P_GR_GET_CELL-VALUE.
endform. " GETTING_CELL_DETAILS
*& Form SETTING_CELLS
text
<--P_GR_SET_CELL text
form setting_cells changing p_gr_set_cell type lvc_t_cell.
data:s_gr_set_cell type lvc_s_cell.
s_gr_set_cell-col_id-fieldname = 'NETWR'.
s_gr_set_cell-row_id-index = '3'.
append s_gr_set_cell to p_gr_set_cell.
call method gr_alvgrid->set_selected_cells
exporting
it_cells = p_gr_set_cell.
endform. " SETTING_CELLS
*& Form SETTING_HYPERLINKS_FIELD
text
<--P_GR_HYPER text
form setting_hyperlinks_field changing p_gr_hyper type lvc_t_hype.
data: is_hype type lvc_s_hype.
is_hype-handle = '1'.
is_hype-href = 'HTTP://WWW.GOOGLE.CO.IN'.
append is_hype to p_gr_hyper.
is_hype-handle = '2'.
is_hype-href = 'HTTP://SDN.SAP.COM'.
append is_hype to p_gr_hyper.
endform. " SETTING_HYPERLINKS_FIELD
*& Form SETTING_DROPDOWN_COLUMN
text
<--P_GR_DROP_DOWN text
form setting_dropdown_column changing p_gr_drop_down type lvc_t_drop.
data: wa_drop type lvc_s_drop.
wa_drop-handle = '1'.
wa_drop-value = '$'.
append wa_drop to p_gr_drop_down.
wa_drop-handle = '1'.
wa_drop-value = 'Rs'.
append wa_drop to p_gr_drop_down.
wa_drop-handle = '1'.
wa_drop-value = 'CUR'.
append wa_drop to p_gr_drop_down.
call method gr_alvgrid->set_drop_down_table
exporting
it_drop_down = p_gr_drop_down
IT_DROP_DOWN_ALIAS =
endform. " SETTING_DROPDOWN_COLUMN
*& Form SETTING_VARIANTS
text
<--P_IS_VARIANT text
form setting_variants changing p_is_variant type disvariant.
p_is_variant-report = sy-repid.
endform. " SETTING_VARIANTS
*& Form HANDLE_HOTSPOT_CLICK
text
-->P_E_ROW text
-->P_E_COLUMN text
-->P_E_ROW_NO text
form handle_hotspot_click using p_e_row_id type lvc_s_row
p_e_column_id type lvc_s_col
p_es_row_no type lvc_s_roid.
read table it_vbak index p_es_row_no-row_id.
if sy-subrc = 0 and p_e_column_id-fieldname = 'ERDAT'.
line = p_es_row_no-row_id.
line_number = p_es_row_no-row_id.
leave to screen 200.
endif.
endform. " HANDLE_HOTSPOT_CLICK
*& Form CREATING_EVENT_OBJECT
text
--> p1 text
<-- p2 text
form creating_event_object .
data event_handle type ref to gr_event_handler.
create object event_handle.
set handler event_handle->handle_hotspot_click for gr_alvgrid.
endform. " CREATING_EVENT_OBJECT
*& Module STATUS_0200 OUTPUT
text
module status_0200 output.
set pf-status 'BB'.
SET TITLEBAR 'xxx'.
*LINE = LINE_NUMBER.
endmodule. " STATUS_0200 OUTPUT
*& Module USER_COMMAND_0200 INPUT
text
module user_command_0200 input.
if sy-ucomm = 'BACK'.
leave to screen 100.
endif.
endmodule. " USER_COMMAND_0200 INPUT[/code]
Reward points if helpful
Thanks,
Suma. -
Creating a custom report with detailed header and then associated detail
I am very new to CRMOD, so this question may be basic, but I have not found any good material yet to help me out, so here goes.
We are trying to create a Quote report that will be sent to our customers. The report needs to have both a header and detail section basically as follows:
<Header>
Quote Form
Date:
Expiration Date:
Sales Person Name:
Customer Name and address
Terms
... some other text data ...
<Detail>
Standard fields that define the quote, these are easy.
What I cannot determine how to do is create the header section. In the report designer, it only allows for a Title, logo, and another text line. Can anyone suggest another method?I do not have the narrative option.
Options available are:
Title
Table
Chart
Pivot Table
Gauge
Active Filters
legend
Advanced
--> Column Selector
--> View Selector
--> Funnel Chart
--> Ticker
According to the documentation, the narrative view should be available from the advanced menu. Am I on a different package by chance? -
CRXI Export to text - suppressed section creates blank lines
I'm using CRXI Proffesional - full version 11.5.11.1470
I have a report that uses the typical "stealth" subreport to obtain and pass info to the container, but remains invisible in preview mode. The fields in the subreport are all suppressed, the sections in the subreport are suppressed if blank and the subreport itself is suppressed when blank, the section that contains the subreport is also suppressed if blank.
This has always worked fine to get info into the container from the subreport while not creating any "white space" on the report.
Print preview and export to pdf both function just fine, omitting the blank lines.
It seems that exporting this to a text file is now creating blank lines for each occurence of the subreport.
I have seen this problem in a couple of forums but have not seen a resolution yet.
Does anybody have any idea how I can stop the exporting of suppressed blank sections ?Good morning.
We've got something to get straight first
When you say "...from the Report Viewer. The report printed as expected on HP printer...", do you mean the viewer of the .NET app, or the viewer of the CR designer?
And version 12.0.0.683, is very old (well as far as CR is concerned anyhow ). That version is SP 1, we are now on SP 2. So that will be the place to start. Get to SP 2 which can be downloaded from here;
https://smpdl.sap-ag.de/~sapidp/012002523100009038092009E/cr2008win_sp2.exe
Ludek -
Export to text creates extra line
I've created a number of fixed width extract reports that will be used to upload data into another system. The files, in general, are fine, however Crystal Reports 2008 is adding an extra line to the end of the file. This is causing the upload to fail.
I've created several. extract reports before, so I reviewed a sample extract from a report I created in Crystal Reports XI R2 and it, too, had the same issue.
Googling indicates that others have had the same issue, but I have yet to find a resolution to the problem.
Has anybody else encountered this and do you know how to resolve the issue?
Thank you, KurtHi Kurt,
In my scheduler app I have a command line option to remove (or replace characters) in the resulting export file. This was developed for exactly that reason (so there is a special option to remove/replace only the last character in the file).
You can develop the same approach. Alternatively, there are more direct upload options (the export can go directly into a database table).
hth,
- Ido -
Inputs requried to create purchase order report from flat file
inputs requried to create purchase order report from flat file
At a guess, I'd say purchase order data.
If you don't give us a clue what you are actually trying to do we can't really help you too much.
Do you want to call a BAPI? Do a BDC? Use an IDOC? Or just generally muck up the system by doing inserts into the purchasing tables?
No doubt if you tell us, you'll get lots and lots of suggestions.
Gareth. -
http://www.oracle.com/technology/obe/hol08/apexprnt/apexprnt_otn.htm
At the above link is a samle demo of how to create a PDF report using Oracle 11g, BI Publisher, BI Publisher Desktop.
I am stuck at the step # 8:
Import the Printing Application in Application Builder using the printapp.sql file located in the directory where you unzipped the file in the previous step.
I have the above referenced file and when I execute it I get the following error:
SQL> alter session set current_schema=APEX_030200;
Session altered.
SQL>
SQL> @prntapp
APPLICATION 107 - Printing Application
Set Credentials...
Check Compatibility...
API Last Extended:20090112
Your Current Version:20090112
This import is compatible with version: 20070108
COMPATIBLE (You should be able to run this import without issues.)
Set Application ID...
begin
ERROR at line 1:
ORA-02291: integrity constraint (APEX_030200.WWV_FLOWS_FK) violated - parent
key not found
ORA-06512: at "APEX_030200.WWV_FLOW_API", line 555
ORA-06512: at line 3
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
The BI publisher is working fine as I can see all the executive reports as well as all the demos work fine.
Also: At the below URL
http://www.oracle.com/technology/products/database/application_express/html/configure_printing.html#03
At step 5: 5. Installing and Configuring Apache FOP
I am expected to install the fop.war file using OEM. I have OEM for 11g working but I don't see the application component, just the Database. How do I get the App component working. The BI Publisher was installed using "basic" option as suggested by the OBE I am using.
Thanks a lot for your help.
MohsinHi Venkatv and everyone.
This is the link where I found about Including Dynamic Images in a Report.
http://www.oracle.com/technetwork/testcontent/apexprnt2-otn-098981.html
It's so easy and clear to do.
Good Luck!!!
Regards.
Ayrem -
Database Logon Failed which created by Crystal Report 2008
this time i meet the famous error again which is database logon failed.
i created a crystal report 2008 starting from blank report, then connect with odbc
i use 2008 method
objRpt.SetDatabaseLogon(db_username, db_password, odbc_name, database_name);
2008 method will get database logon failed even set database location and verify database again
then i use 8.5 method and try again for 2008 report. it said field name is unknown for one of formula
then i drag field again for formula and set database location and verify database again
it said the same error.
then i uninstall 8.5 crytal report software in window 7 deployment machine, and do above again, it said the same error
//'Create a new Stored Procedure Table to replace the reports current table.
CrystalDecisions.ReportAppServer.DataDefModel.Procedure boTable = new CrystalDecisions.ReportAppServer.DataDefModel.Procedure();
//'boMainPropertyBag: These hold the attributes of the tables ConnectionInfo object
PropertyBag boMainPropertyBag = new PropertyBag();
//'boInnerPropertyBag: These hold the attributes for the QE_LogonProperties
//'In the main property bag (boMainPropertyBag)
PropertyBag boInnerPropertyBag = new PropertyBag();
//'Set the attributes for the boInnerPropertyBag
boInnerPropertyBag.Add("Connect Timeout", "15");
//boInnerPropertyBag.Add("Data Source", "MyDataSource");
boInnerPropertyBag.Add("Data Source", "10.1.1.191");
boInnerPropertyBag.Add("DataTypeCompatibility", "0");
boInnerPropertyBag.Add("General Timeout", "0");
//boInnerPropertyBag.Add("Initial Catalog", "MyCatalog");
boInnerPropertyBag.Add("Initial Catalog", database_name);
boInnerPropertyBag.Add("Integrated Security", "False");
boInnerPropertyBag.Add("Locale Identifier", "1033");
boInnerPropertyBag.Add("MARS Connection", "0");
//boInnerPropertyBag.Add("OLE DB Services", "-5");
//boInnerPropertyBag.Add("ODBC", "-5");
boInnerPropertyBag.Add("ODBC", "Cheque");
boInnerPropertyBag.Add("Provider", "SQLNCLI");
boInnerPropertyBag.Add("Tag with column collation when possible", "0");
boInnerPropertyBag.Add("Trust Server Certificate", "0");
boInnerPropertyBag.Add("Use Encryption for Data", "0");
//'Set the attributes for the boMainPropertyBag
boMainPropertyBag.Add("Database DLL", "crdb_ado.dll");
//boMainPropertyBag.Add("Database DLL", "p2sodbc.dll");
//boMainPropertyBag.Add("QE_DatabaseName", "VEPILOT");
boMainPropertyBag.Add("QE_DatabaseName", database_name);
//boMainPropertyBag.Add("QE_DatabaseType", "OLE DB (ADO)");
boMainPropertyBag.Add("QE_DatabaseType", "ODBC");
//'Add the QE_LogonProperties we set in the boInnerPropertyBag Object
boMainPropertyBag.Add("QE_LogonProperties", boInnerPropertyBag);
boMainPropertyBag.Add("QE_ServerDescription", "MyServer");
boMainPropertyBag.Add("QE_SQLDB", "True");
boMainPropertyBag.Add("SSO Enabled", "False");
//'Create a new ConnectionInfo object
CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo boConnectionInfo = new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();
//'Pass the database properties to a connection info object
boConnectionInfo.Attributes = boMainPropertyBag;
//'Set the connection kind
boConnectionInfo.Kind = CrConnectionInfoKindEnum.crConnectionInfoKindCRQE;
//'*EDIT* Set the User Name and Password if required.
boConnectionInfo.UserName = db_username;
boConnectionInfo.Password = db_password;
//'Pass the connection information to the table
boTable.ConnectionInfo = boConnectionInfo;
CrystalDecisions.ReportAppServer.DataDefModel.Tables boTables = objRpt.ReportClientDocument.DatabaseController.Database.Tables;
CrystalDecisions.CrystalReports.Engine.Tables tables = objRpt.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
if (!string.IsNullOrEmpty(table.Name))
//boTable.Name = table.Name;
//boTable.QualifiedName = database_name + ".dbo." + table.Name;
//boTable.Alias = table.Name;
boTable.Name = "sp_ChequeIssueDetRpt";
boTable.QualifiedName = database_name + ".dbo.sp_ChequeIssueDetRpt";
boTable.Alias = "sp_ChequeIssueDetRpt";
objRpt.ReportClientDocument.DatabaseController.SetTableLocation(boTables[0], boTable);
objRpt.VerifyDatabase();
http://sourceforge.net/projects/aspchequesprint/files/ChequeIssueDet.rpt/downloadNo subreport, only a stored procedure with final two lines are
print @m_sql
exec (@m_sql)
After use generated code in the link above
Error at boReportDocument.VerifyDatabase();
Inner Exception : no error
Message "Logon failed"
ErrorID : CrystalDecisions.CrystalReports.Engine.EngineExceptionErrorID.LogOnFailed
HelpLink : null
stacktrace : CrystalDecisions.CrystalReports.Engine.ReportDocument.VerifyDatabase()\r\n at viewReport.Page_Load(Object sender, EventArgs e) 於 d:
Data
My Documents
Visual Studio 2008
WebSites
Cheques
viewReport.aspx.cs: row 1302\r\n at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)\r\n at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)\r\n at System.Web.UI.Control.OnLoad(EventArgs e)\r\n at System.Web.UI.Control.LoadRecursive()\r\n 於 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
TargetSite : {Void VerifyDatabase()}
string reportPath = report_path + "ChequeIssueDet.rpt";
boReportDocument = new ReportDocument();
//**EDIT** Change the path and report name to the report you want to change.
boReportDocument.Load(reportPath, OpenReportMethod.OpenReportByTempCopy);
//Create a new Stored Procedure Table to replace the reports current table.
CrystalDecisions.ReportAppServer.DataDefModel.Procedure boTable =
new CrystalDecisions.ReportAppServer.DataDefModel.Procedure();
//boMainPropertyBag: These hold the attributes of the tables ConnectionInfo object
PropertyBag boMainPropertyBag = new PropertyBag();
//boInnerPropertyBag: These hold the attributes for the QE_LogonProperties
//In the main property bag (boMainPropertyBag)
PropertyBag boInnerPropertyBag = new PropertyBag();
//Set the attributes for the boInnerPropertyBag
boInnerPropertyBag.Add("Database", database_name);
boInnerPropertyBag.Add("DSN", "Cheque");
boInnerPropertyBag.Add("UseDSNProperties", "False");
//Set the attributes for the boMainPropertyBag
boMainPropertyBag.Add("Database DLL", "crdb_odbc.dll");
boMainPropertyBag.Add("QE_DatabaseName", database_name);
boMainPropertyBag.Add("QE_DatabaseType", "ODBC (RDO)");
//Add the QE_LogonProperties we set in the boInnerPropertyBag Object
boMainPropertyBag.Add("QE_LogonProperties", boInnerPropertyBag);
boMainPropertyBag.Add("QE_ServerDescription", "Cheque");
boMainPropertyBag.Add("QE_SQLDB", "True");
boMainPropertyBag.Add("SSO Enabled", "False");
//Create a new ConnectionInfo object
CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo boConnectionInfo =
new CrystalDecisions.ReportAppServer.DataDefModel.ConnectionInfo();
//Pass the database properties to a connection info object
boConnectionInfo.Attributes = boMainPropertyBag;
//Set the connection kind
boConnectionInfo.Kind = CrConnectionInfoKindEnum.crConnectionInfoKindCRQE;
//**EDIT** Set the User Name and Password if required.
boConnectionInfo.UserName = db_username;
boConnectionInfo.Password = db_password;
//Pass the connection information to the table
boTable.ConnectionInfo = boConnectionInfo;
//Get the Database Tables Collection for your report
CrystalDecisions.ReportAppServer.DataDefModel.Tables boTables;
boTables = boReportDocument.ReportClientDocument.DatabaseController.Database.Tables;
//For each table in the report:
// - Set the Table Name properties.
// - Set the table location in the report to use the new modified table
boTable.Name = "sp_ChequeIssueDetRpt;1";
boTable.QualifiedName = database_name+".dbo.sp_ChequeIssueDetRpt;1";
boTable.Alias = "sp_ChequeIssueDetRpt;1";
boReportDocument.ReportClientDocument.DatabaseController.SetTableLocation(boTables[0], boTable);
//Verify the database after adding substituting the new table.
//To ensure that the table updates properly when adding Command tables or Stored Procedures.
boReportDocument.VerifyDatabase();
//**EDIT** Set the value for the Stored Procedure parameters.
string m_curUser = "";
int spid = Convert.ToInt32(Request.Cookies["login_cookie"]["spid"]);
queryString = "select * from v_All_Session where SPID=" + spid.ToString();
//string _connectionString = ConfigurationManager.ConnectionStrings["ChequeConnectionString"].ConnectionString;
using (SqlConnection connection = new SqlConnection(_connectionString))
SqlCommand command = connection.CreateCommand();
command.CommandText = queryString;
connection.Open();
using (SqlDataReader datareader = command.ExecuteReader())
if (datareader.HasRows == true)
while (datareader.Read())
if (datareader["UserID"] != System.DBNull.Value)
m_curUser = datareader["UserID"].ToString();
datareader.Close();
connection.Close();
boReportDocument.SetParameterValue("@UserID", m_curUser);
if (string.IsNullOrEmpty(Session["fm_CoCode"].ToString()))
boReportDocument.SetParameterValue("@fm_CoCode", Session["fm_CoCode"].ToString());
if (string.IsNullOrEmpty(Session["to_CoCode"].ToString()))
boReportDocument.SetParameterValue("@to_CoCode", Session["to_CoCode"].ToString());
if (string.IsNullOrEmpty(Session["fm_BankACNo"].ToString()))
boReportDocument.SetParameterValue("@fm_BankACNo", Session["fm_BankACNo"].ToString());
if (string.IsNullOrEmpty(Session["to_BankACNo"].ToString()))
boReportDocument.SetParameterValue("@to_BankACNo", Session["to_BankACNo"].ToString());
if (string.IsNullOrEmpty(Session["fm_BatchNo"].ToString()))
boReportDocument.SetParameterValue("@fm_BatchNo", Session["fm_BatchNo"].ToString());
if (string.IsNullOrEmpty(Session["to_BatchNo"].ToString()))
boReportDocument.SetParameterValue("@to_BatchNo", Session["to_BatchNo"].ToString());
Edited by: Mathew_666 on Jul 19, 2011 4:27 AM
Edited by: Mathew_666 on Jul 19, 2011 4:28 AM -
Can Power Users or Mgt Create and Design Reports Through Query Designer ?
Dear BI consultants,
Iam new to BI.
My management has requested me to Train Power users from All Modules(FICO,HR,QM,PP,SD,MM) to Create Queries and Design Through Query Designer.
My question is are we suppose to Give query Designer Access to Power users or Mgt so that they can create Queries and reports by themselves.Please Suggest me wht is the Best Practices.
is it feasable to train power users and Mgt as to how 2 create queries. will there be any side effect on the System or our end.
Plz suggest.
wht are the advantages and disadvantages of this.
If I train the Power users then is there any risk of my Job.
since they will be creating all reports by themselves.
wht else can a BI consultant do since iam in a support project.
how do i convince my Mgt?
Plz Suggest.
Thanks AwaitingThis is common procedure maintained in most of the company's for end users.
There is no issue if you train the power users.you will be the first point of contact if they have any doubts.and more over you are supporting for your client right? this can't be handed over to power user or end user. data is imp for the client so there will not be any problem for you, if any issue comes while loading you need to take care of the errors and fix the.
power users or end user will be familiar with Business requirement not with the Query building logic's not with the BW procedure so no worries for you.
as vineeth said its better to keep control regarding the global and key things at your end so that you will not loose contol on the reports. -
PDF file created from Oracle Report is attached wrongly
Hi,
Please help. It is very urgent.
I am using Oracle Developer 10gR2, Oracle Report 10.1.2 on Windows 2000.
I would like to attach the PDF file created by Oracle Report to the Notification sent from Workflow.
I use the following package procedure in my Workflow.
procedure Create_File_Attachment (document_id in varchar2, display_type in varchar2, document in out blob, document_type in out varchar2)
is
l_itemtype varchar2(100);
l_itemkey varchar2(100);
l_output_directory varchar2(30);
l_filename varchar2(255);
src_loc bfile;
bdoc blob;
src_offset number := 1;
dst_offset number := 1;
amount number;
begin
l_itemtype := substr(document_id, 1, instr(document_id, ':') - 1);
l_itemkey := substr(document_id, instr(document_id, ':') + 1, length(document_id) - 2);
l_output_directory := 'USR_TMP_DIR';
l_filename := Wf_Engine.GetItemAttrText(l_itemtype, l_itemkey, 'ATR_FILENAME');
src_loc := bfilename(l_output_directory,l_filename);
dbms_lob.createTemporary(bdoc, FALSE, dbms_lob.call);
dbms_lob.fileopen(src_loc, dbms_lob.file_readonly);
dbms_lob.loadblobfromfile(bdoc,src_loc,dbms_lob.lobmaxsize,src_offset,dst_offset);
dbms_lob.fileclose(src_loc);
amount := dbms_lob.getLength(bdoc);
dbms_lob.copy(document,bdoc,amount,1,1);
document_type := 'application/pdf; name=attach.pdf';
end Create_File_Attachment;Oracle Report created the PDF file correctly (original.pdf).
I tried to attach the PDF into my Workflow.
I can see the file is attached (attach.pdf), but it cannot be opened.
The Adobe shows : 'A drawing error occured.' each time I open the attachment.
I compare the original.pdf and the attach.pdf
However, there is one specific difference
- in original.pdf, the line started with '.' (single period)
in attach.pdf, the line is started with '..' (two periods)
Thus the attachment cannot be opened.
After I delete the period, it can be opened.
Question:
- Has someone ever succeed in attaching the PDF created from Report?
- Are the codes above is wrong?
- Or perhaps the DBMS_LOB.LOADBLOBFROMFILE always double the single period on front of the line?
- Is there any solution on this?
Note:
I have succeed in attaching PDF files unless the PDF created by the Report.
Sorry for the long post.
Please help. It is very urgent.
Any help is appreciated.
Many thanks,
BuntoroThe code looks absolutely good. I have the same code working in my system. Only difference is I use TRUE and DBMS_LOB.Session for the BLOB I use to read from the BFILE.
I can suggest one more way to handle to binary attachments if you are on Oracle 9i DB are later versions.
procedure attach_document (p_document_id in varchar2,
p_display_type in varchar2,
p_document in out nocopy clob,
p_document_type in out nocopy varchar2)
is
l_nid number;
l_directory varchar2(100);
l_filename varchar2(100);
l_content_type varchar2(100);
l_src_offset binary_integer := 1;
l_dst_offset binary_integer := 1;
l_err_msg varchar2(100);
l_amount number;
l_bfile BFILE;
l_blob BLOB;
l_clob CLOB;
file_not_found exception;
pragma EXCEPTION_INIT(file_not_found, -22288);
begin
l_nid := to_number(p_document_id);
l_directory := trim(wf_notification.GetAttrText(l_nid, 'ATTR_DIRECTORY'));
l_filename := trim(wf_notification.GetAttrText(l_nid, 'ATTR_FILENAME'));
l_content_type := trim(wf_notification.GetAttrText(l_nid, 'ATTR_CONTENT_TYPE'));
l_bfile := BFILENAME(l_directory, l_filename);
dbms_lob.createtemporary(l_blob, true, dbms_lob.Session);
dbms_lob.createtemporary(l_clob, true, dbms_lob.Session);
begin
dbms_lob.FileOpen(l_bfile, dbms_lob.File_Readonly);
exception
when file_not_found then
l_err_msg := to_char(sqlcode)||' - Attachment File "'||l_filename||'" is not found.';
raise_application_error(-20002, l_err_msg);
end;
dbms_lob.LoadBLOBFromFile(l_blob, l_bfile, dbms_lob.LobMaxSize, l_src_offset, l_dst_offset);
dbms_lob.FileClose(l_bfile);
-- Encode the BLOB content to BASE64 and attach to notification
wf_mail_util.EncodeBLOB(l_blob, l_clob);
l_amount := dbms_lob.GetLength(l_clob);
dbms_lob.Copy(p_document, l_clob, l_amount, 1, 1);
-- Mention an appropriate Content Type so that Notification System
-- understands the attachment content
p_document_type := l_content_type||'; encoding=base64; name='||l_filename;
end attach_document;Here I read the BLOB from the filesystem and base64 encode it before giving it to the Mailer. Please note that this is a PLSQLCLOB based attachment as against PLSQLBLOB that you are using.
Thanks - Vijay -
PDF file created from Oracle Report is created wrongly using dbms_lob
Hi,
Please help. It is very urgent.
I am using Oracle Developer 10gR2, Oracle Report 10.1.2 on Windows 2000.
I would like to attach the PDF file created by Oracle Report to the Notification sent from Workflow.
I use the following package procedure in my Workflow.
procedure Create_File_Attachment (document_id in varchar2, display_type in varchar2,
document in out blob, document_type in out varchar2)
is
l_itemtype varchar2(100);
l_itemkey varchar2(100);
l_output_directory varchar2(30);
l_filename varchar2(255);
src_loc bfile;
bdoc blob;
src_offset number := 1;
dst_offset number := 1;
amount number;
begin
l_itemtype := substr(document_id, 1, instr(document_id, ':') - 1);
l_itemkey := substr(document_id, instr(document_id, ':') + 1, length(document_id) - 2);
l_output_directory := 'USR_TMP_DIR';
l_filename := Wf_Engine.GetItemAttrText(l_itemtype, l_itemkey, 'ATR_FILENAME');
src_loc := bfilename(l_output_directory,l_filename);
dbms_lob.createTemporary(bdoc, FALSE, dbms_lob.call);
dbms_lob.fileopen(src_loc, dbms_lob.file_readonly);
dbms_lob.loadblobfromfile(bdoc,src_loc,dbms_lob.lobmaxsize,src_offset,dst_offset);
dbms_lob.fileclose(src_loc);
amount := dbms_lob.getLength(bdoc);
dbms_lob.copy(document,bdoc,amount,1,1);
document_type := 'application/pdf; name=attach.pdf';
end Create_File_Attachment;Oracle Report created the PDF file correctly (original.pdf).
I tried to attach the PDF into my Workflow.
I can see the file is attached (attach.pdf), but it cannot be opened.
The Adobe shows : 'A drawing error occured.' each time I open the attachment.
I compare the original.pdf and the attach.pdf
However, there is one specific difference
- in original.pdf, the line started with '.' (single period)
in attach.pdf, the line is started with '..' (two periods)
Thus the attachment cannot be opened.
After I delete the period, it can be opened.
Question:
- Has someone ever succeed in attaching the PDF created from Report?
- Are the codes above is wrong?
- Or perhaps the DBMS_LOB.LOADBLOBFROMFILE always double the single period on front of the line?
- Is there any solution on this?
Note:
I have succeed in attaching PDF files unless the PDF created by the Report.
Sorry for the long post.
Please help. It is very urgent.
Any help is appreciated.
Many thanks,
BuntoroHi,
Please help. It is very urgent.
I am using Oracle Developer 10gR2, Oracle Report 10.1.2 on Windows 2000.
I would like to attach the PDF file created by Oracle Report to the Notification sent from Workflow.
I use the following package procedure in my Workflow.
procedure Create_File_Attachment (document_id in varchar2, display_type in varchar2,
document in out blob, document_type in out varchar2)
is
l_itemtype varchar2(100);
l_itemkey varchar2(100);
l_output_directory varchar2(30);
l_filename varchar2(255);
src_loc bfile;
bdoc blob;
src_offset number := 1;
dst_offset number := 1;
amount number;
begin
l_itemtype := substr(document_id, 1, instr(document_id, ':') - 1);
l_itemkey := substr(document_id, instr(document_id, ':') + 1, length(document_id) - 2);
l_output_directory := 'USR_TMP_DIR';
l_filename := Wf_Engine.GetItemAttrText(l_itemtype, l_itemkey, 'ATR_FILENAME');
src_loc := bfilename(l_output_directory,l_filename);
dbms_lob.createTemporary(bdoc, FALSE, dbms_lob.call);
dbms_lob.fileopen(src_loc, dbms_lob.file_readonly);
dbms_lob.loadblobfromfile(bdoc,src_loc,dbms_lob.lobmaxsize,src_offset,dst_offset);
dbms_lob.fileclose(src_loc);
amount := dbms_lob.getLength(bdoc);
dbms_lob.copy(document,bdoc,amount,1,1);
document_type := 'application/pdf; name=attach.pdf';
end Create_File_Attachment;Oracle Report created the PDF file correctly (original.pdf).
I tried to attach the PDF into my Workflow.
I can see the file is attached (attach.pdf), but it cannot be opened.
The Adobe shows : 'A drawing error occured.' each time I open the attachment.
I compare the original.pdf and the attach.pdf
However, there is one specific difference
- in original.pdf, the line started with '.' (single period)
in attach.pdf, the line is started with '..' (two periods)
Thus the attachment cannot be opened.
After I delete the period, it can be opened.
Question:
- Has someone ever succeed in attaching the PDF created from Report?
- Are the codes above is wrong?
- Or perhaps the DBMS_LOB.LOADBLOBFROMFILE always double the single period on front of the line?
- Is there any solution on this?
Note:
I have succeed in attaching PDF files unless the PDF created by the Report.
Sorry for the long post.
Please help. It is very urgent.
Any help is appreciated.
Many thanks,
Buntoro -
Hi, folks.
I have a table of employees and a table of certifications. An employee may have 0-15 certifications (and dates completed).
I'm trying to generate a single line report like this:
NAME - CPR DATE - FIRST AID DATE - Etc
I've made an evaluation formula:
If {Cert_Table.Type} = "CPR" then {Cert_Table.Date}
This works brilliantly...as long as CPR is the first record that matches the employee ID. If it is the second, it leaves the field erroneously blank.
I know the ideal way to show this would be a list, but the boss wants a single-line representation of the key certification dates.
How do I get crystal to report back the CPR date regardless of which order it appears?
Thanks in advance!Hi,
There are a couple of ways you can do this. Following your train of thought, you can build the string like:
Create a Group on Employee.
In the Group Header create a formula like:
WhilePrintingRecords;
StringVar Certifications := "";
In the Detail section create a formula like:
WhilePrintingRecords;
StringVar Certifications;
Certifications := Certifications += {Cert_Table.Date} & " - ";
In this formula, if your Date field is an actual date type then you will need to use the ToString function to convert it to a string or you will get an error.
In the Group Footer create a final formula like:
WhilePrintingRecords;
StringVar Certifications;
The first two formulas you can format to Suppress so you don't see them.
Good luck,
Brian
Maybe you are looking for
-
[JS][CS3] Loading text into memory
Hi. Am am trying to access an external txt file which holds data for my script. I have looked at the famous "FindChangeByList" and tried to work from there. However, I am not going to need input from the user for the txt file location, it will alwa
-
Ive just updated my Nokia X6 to the latest I can (v 21.0.004) as I am t-mobile uk, every now and then I get WLAN connection selection screen. I select cancel for a further 5 times that it askes. Why is this ? The thing is, Im not touching the phone w
-
SpreadsheetAddColumn(sheet,"ColumnHeading1",1,1); preadsheetAddColumn(sheet,"column heading2",1,2); SpreadsheetAddRows(sheet,query1,2,1); SpreadsheetAddColumn(sheet,"ColumnHeading3",1,4,true); SpreadsheetAddColumn(sheet,"ColumnHeading4",1,5,true); Sp
-
After syncing my iphone to itunes, it is asking me to sign in using my apple ID and password then it's telling me my apple ID must be an email address and to enter an email. After entering my email that I use with itunes, it tells me that apple ID i
-
Every time I click on a website a pop up ads appear
Can somebody help me? Every time I click on a new web, website pop up like Mac Keeper, Booking.com, WINMOB, Videostripe, etc appears. My macbook air is only 1 week old and I am very new to this. Please help!