Building a report from folder items
I would like to know whether somebody might be able to answer this question.
I have a list of file type items held in a folder. These items happen to be statistical information and are held in the database as you can imagine as blobs. I want to be able to build a report that extracts the content of these items and combines them into a single report. No formatting is reuired simply as it appears. Any ideas, thoughts or suggestions?
Thanks.
All item data are stored in portal30.wwv_things table.
Get the filename from this table for all the items you want.
Then with the folder path, append this filename and
open it with a URLconnection class in java(I am not sure with pl/sql) and use methods in URLconnection class to read the data.
If you put this in the loop, you can join all the content of
document files.
Try this out.
Similar Messages
-
Error when building a report from 2 different subject areas
Hello Experts,
I am using obiee 11.1.1.5.
I have 5 dimension D1,D2,D3,D4,D5 connected to fact1 and 4 dimension connected to fact2 such as D1,D2,D6,D7.
where D1,D2 is common to both the facts.
Fact1 Is in subject area 1 and Fact2 is in subject area2.
I need to create a report by adding columns of subject area 1 and 2 with columns from all the dimensions D1,D2....D7.
As of now i am getting error stating "No fact table exists at the requested level of detail " when i try to add columns from 2 different subject areas.
Can anyone help me in solving the above problem.
Is there any prerequisite to be taken care when building a report from 2 different subject areas.
Regards,
NNHello Nagireddy,
So kind of you, for your quick reply
I was able to solve the error by doing below steps in additional what you have specified
-->For the fact table LTSs, set the logical level in the Content tab to the dimension's lowest level for each conforming dimension (leave the non-conforming dimensions level blank).
Now I have another requirement i,e
I need to have non measure columns such as Date into the newly created fact in BMM layer.
I tried doing the steps which I followed for measure column, but it is throwing the same error which I get earlier.
Below is the error
Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 43119] Query Failed: [nQSError: 14025] No fact table exists at the requested level of detail:
Let me know if have any suggestions -
Report on Folder Items Based on Security
I have an application to be build. A report is to be generated on the available items in the folder hierarchy of an content area. The user selects the folder in the parameter entry form and the report should display only those items to which he has an access to. Can anyone expalin me how to accomplish this feature.
ThanksJerry,
many thanks. I opted for the perspective/search folder approach. Just for the benefit of other visitors: After setting up a perspective for each letter, I created a parent folder('AtoZ') with 26 search folders, each restricting search results to the perspective named after the alphabetic letter. I assigned the perspectives to all my items. I then published the parent folder as a portlet, giving me a dynamic hyperlinked A to Z.
Thanks again
Stefan
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Jerry Silver ([email protected]):
Stefan,
You can try creating a perspective for each letter of the alphabet, and assigning these perspectives to the respective text items. Then you can use various techniques to display the perspectives. e.g. a page with 26 tabs, with a perspective portlet under each tab; or a navigation bar displaying the perspectives; or copy the perspective URLs and create a folder with URL items that point to the perspectives; or a search folder for each perspective; etc.
If you want something more automated, you could try writing a query using the new content area views in 3.0.8.
Regards,
Jerry<HR></BLOCKQUOTE>
null -
How to build a Report from workflow information
Hi Friends,
I want to create a sales order approval and rejection steps using workflow. For this I have created User Decision Step where I have included approval and rejection decisions. And it is working fine. But the thing is that user wants a report for later analyis by giving sales order info. in selection and in output he need SO number,creation date, approver name, how many times he rejected, rejection date, approval date etc. How to achieve this? Is there any standard report programs available to get this type of info? kindly assist me.
Rewarded...
Thanks in advanace,
Steve.Hi Stephen!
Take a look this example I've developed a report like this.
REPORT ZSICREP001 .
INCLUDE ZSICREP001I.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS: S_UNAME LIKE USR02-BNAME OBLIGATORY.
SELECTION-SCREEN: END OF BLOCK B1.
INITIALIZATION.
PERFORM zf_init_alv USING p_var.
START-OF-SELECTION.
PERFORM busca_nome USING S_UNAME CHANGING LC_NAME.
CONCATENATE 'Tarefas de:' LC_NAME INTO TITULO SEPARATED BY SPACE.
PERFORM: busca_dados,
prepara_dados,
zf_monta_tabela_alv,
zf_monta_layout,
ZF_SORT_SUBTOTAL,
zf_executa_funcao_alv TABLES t_alv USING ' '.
END-OF-SELECTION.
Executa a busca dos dados no BD.
Form Busca_Dados.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 15
text = 'Buscando dados ...'.
Busca o histório das tarefas executadas pelo usuário informado.
Select WI_ID
METHOD
METH_EDATE
METH_ETIME
FROM SWWLOGHIST
INTO TABLE T_SWWLOGHIST
WHERE METHOD EQ 'SWW_WI_STATUS_TO_COMPLETED' AND
METH_USER EQ S_UNAME.
IF SY-SUBRC EQ 0.
BUSCA O LOG DE CRIAÇÃO DA TAREFA
Select WI_ID
METHOD
METH_EDATE
METH_ETIME
FROM SWWLOGHIST
INTO TABLE T_SWWLOGHIST_CRIA
FOR ALL ENTRIES IN T_SWWLOGHIST
WHERE WI_ID EQ T_SWWLOGHIST-WI_ID AND
METHOD EQ 'SWW_WW_CREATE' AND
METH_USER EQ 'WF-BATCH'.
ENDIF.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 35
text = 'Buscando dados ...'.
Busca as tarefas aguardando execução do usuário.
CONCATENATE 'US' S_UNAME INTO S_ORG_OBJ.
Select WI_ID
FROM SWWORGTASK
INTO TABLE T_SWWORGTASK
WHERE ORG_OBJ EQ S_ORG_OBJ.
Para cada tarefa aguardando execução, busca o evento de criação da
tarefa e appenda na tabela de histórico
IF SY-SUBRC EQ 0.
SORT T_SWWORGTASK BY WI_ID.
Select WI_ID
METHOD
METH_EDATE
METH_ETIME
FROM SWWLOGHIST
APPENDING TABLE T_SWWLOGHIST_CRIA
FOR ALL ENTRIES IN T_SWWORGTASK
WHERE WI_ID EQ T_SWWORGTASK-WI_ID AND
METHOD EQ 'SWW_WW_CREATE' AND
METH_USER EQ 'WF-BATCH'. .
ENDIF.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 45
text = 'Buscando dados ...'.
Endform.
PREPARA OS DADOS
FORM prepara_dados.
DATA: lc_hoje like SWWLOGHIST-METH_EDATE,
lc_index type i.
LC_HOJE = SY-DATUM.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 50
text = 'Preparando dados ...'.
SORT T_SWWLOGHIST BY WI_ID METH_EDATE METH_ETIME.
SORT T_SWWLOGHIST_CRIA BY WI_ID.
LOOP AT T_SWWLOGHIST_CRIA.
PERFORM BUSCA_REQUISICAO USING T_SWWLOGHIST_CRIA-WI_ID
CHANGING l_NUM_REQ l_WIPAI.
Se o número da req. vier em branco é porque o workitem nao é do SIC.
IF NOT l_NUM_REQ IS INITIAL.
BUSCA O EVENTO DE EXECUCAO DA TAREFA
READ TABLE T_SWWLOGHIST WITH KEY WI_ID = T_SWWLOGHIST_CRIA-WI_ID
BINARY SEARCH.
IF SY-SUBRC EQ 0.
l_DTEXECTASK = T_SWWLOGHIST-METH_EDATE.
l_HREXECTASK = T_SWWLOGHIST-METH_ETIME.
ELSE.
l_DTEXECTASK = ''.
l_HREXECTASK = ''.
ENDIF.
T_ALV-WORK_ITEM = T_SWWLOGHIST_CRIA-WI_ID.
T_ALV-EXEC_TAREFA = l_DTEXECTASK.
T_ALV-HORA_EXEC_TAREFA = l_HREXECTASK.
T_ALV-CRIA_TAREFA = T_SWWLOGHIST_CRIA-METH_EDATE.
T_ALV-HORA_CRIA_TAREFA = T_SWWLOGHIST_CRIA-METH_ETIME.
T_ALV-REQUISICAO = l_NUM_REQ.
T_ALV-WIPAI = l_WIPAI.
BUSCA O TIPO DO FLUXO
SELECT SINGLE FLUXO
FROM ZSICREQUISICAO
INTO T_ALV-FLUXO
WHERE BANFN EQ T_ALV-REQUISICAO.
APPEND T_ALV.
ENDIF.
ENDLOOP.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 75
text = 'Preparando dados ...'.
SORT T_ALV BY REQUISICAO.
LOOP AT T_ALV.
AT NEW REQUISICAO.
BUSCA O TIPO DO FLUXO
SELECT SINGLE FLUXO
FROM ZSICREQUISICAO
INTO T_ALV-FLUXO
WHERE BANFN EQ T_ALV-REQUISICAO.
PERFORM BUSCA_LOG USING T_ALV-REQUISICAO
T_ALV-FLUXO
CHANGING T_LOG.
ENDAT.
CLEAR: T_ALV-ICONE.
BUSCA O LOG DE CRIACAO DO WORKITEM
READ TABLE T_LOG WITH KEY WORKITEM = T_ALV-WORK_ITEM.
IF SY-SUBRC EQ 0.
T_ALV-TEXTO_LOG_CRIA = T_LOG-TEXTO_LOG.
ELSE.
T_ALV-TEXTO_LOG_CRIA = ''.
ENDIF.
BUSCA O LOG DE EXECUÇÃO DO WORKITEM
IF SY-SUBRC EQ 0.
lc_index = SY-TABIX.
lc_index = lc_index + 1.
READ TABLE T_LOG INDEX lc_index.
IF SY-SUBRC EQ 0.
T_ALV-TEXTO_LOG_EXEC = T_LOG-TEXTO_LOG.
ELSE.
T_ALV-TEXTO_LOG_EXEC = ''.
ENDIF.
ENDIF.
Calcula o tempo que a tarefa ficou parada
IF NOT T_ALV-EXEC_TAREFA = ''.
T_ALV-DIAS = T_ALV-EXEC_TAREFA - T_ALV-CRIA_TAREFA.
ELSE.
T_ALV-DIAS = LC_HOJE - T_ALV-CRIA_TAREFA.
WRITE icon_red_light AS ICON TO t_alv-icone.
ENDIF.
MODIFY T_ALV.
ENDLOOP.
ENDFORM.
BUSCA A REQUISIÇÀO ATRAVES DO WORKITEM.
FORM BUSCA_REQUISICAO USING l_WI CHANGING NUMREC WI_PAI.
DATA: LC_NUMREC LIKE SWW_CONTOB-OBJKEY.
CLEAR: l_SWR_WIHDR.
BUSCA O WORKITEM PAI.
CALL FUNCTION 'SAP_WAPI_GET_HEADER'
EXPORTING
workitem_id = l_WI
IMPORTING
WORKITEM_ATTRIBUTES = l_SWR_WIHDR.
BUSCA O NUMERO DA REQUISICAO.
SELECT SINGLE OBJKEY
FROM SWW_CONTOB
INTO LC_NUMREC
WHERE WI_ID EQ l_SWR_WIHDR-WI_CHCKWI AND
ELEMENT EQ 'REQUISITIONHEADER' AND
OBJTYPE EQ 'BUS2105'.
IF SY-SUBRC EQ 0.
NUMREC = LC_NUMREC.
WI_PAI = l_SWR_WIHDR-WI_CHCKWI.
ELSE.
NUMREC = ''.
WI_PAI = ''.
ENDIF.
ENDFORM.
Monta a estrutura do relatório
FORM ZF_MONTA_TABELA_ALV.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 80
text = 'Montando a estrutura do relatório...'.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'ICONE'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'Status'.
t_fieldcat-inttype = 'C'.
t_fieldcat-no_out = 'X'.
APPEND t_fieldcat.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'REQUISICAO'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'Requisição'.
t_fieldcat-inttype = 'C'.
APPEND t_fieldcat.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'CRIA_TAREFA'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'Dt.Rec.Tarefa'.
t_fieldcat-inttype = 'D'.
APPEND t_fieldcat.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'HORA_CRIA_TAREFA'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'Hr.Rec.Tarefa'.
t_fieldcat-inttype = 'C'.
APPEND t_fieldcat.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'TEXTO_LOG_CRIA'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'Log do recebimento da tarefa'.
t_fieldcat-inttype = 'C'.
APPEND t_fieldcat.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'EXEC_TAREFA'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'Dt.Exec.Tarefa'.
t_fieldcat-inttype = 'D'.
APPEND t_fieldcat.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'HORA_EXEC_TAREFA'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'Hr.Exec.Tarefa'.
t_fieldcat-inttype = 'C'.
APPEND t_fieldcat.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'TEXTO_LOG_EXEC'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'Log da execução da tarefa'.
t_fieldcat-inttype = 'C'.
APPEND t_fieldcat.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'DIAS'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'Dias'.
t_fieldcat-inttype = 'I'.
t_fieldcat-do_sum = 'X'.
APPEND t_fieldcat.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'WORK_ITEM'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'Work Item'.
t_fieldcat-inttype = 'C'.
t_fieldcat-no_out = 'X'.
APPEND t_fieldcat.
CLEAR t_fieldcat.
t_fieldcat-fieldname = 'WIPAI'.
t_fieldcat-tabname = 'T_ALV'.
t_fieldcat-reptext_ddic = 'WI Pai.'.
t_fieldcat-inttype = 'C'.
t_fieldcat-no_out = 'X'.
APPEND t_fieldcat.
ENDFORM.
Form zf_sort_subtotal
Classificação e item de subtotalização
FORM ZF_SORT_SUBTOTAL.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = 90
text = 'Montando a estrutura do relatório...'.
CLEAR t_sort.
t_sort-spos = 1.
t_sort-fieldname = 'REQUISICAO'.
t_sort-tabname = 'T_ALV'.
t_sort-up = 'X'.
t_sort-subtot = 'X'.
append t_sort.
CLEAR t_sort.
t_sort-spos = 2.
t_sort-fieldname = 'CRIA_TAREFA'.
t_sort-tabname = 'T_ALV'.
t_sort-up = 'X'.
append t_sort.
ENDFORM.
BUSCA A LINHA DO LOG REFERENTE AO WORKITEM
FORM BUSCA_LOG USING NUM_REQ TIPO_WFLOW CHANGING LOG STRUCTURE T_LOG.
DATA: lh_wis like SWWWIHEAD occurs 0 with header line,
lc_wiatual type TP_DADOSWI,
lc_noant like ZSICDESETAPA-NODE_ID,
lc_chckwi like swwwihead-wi_chckwi,
lh_itemlist like SWWWIHEAD occurs 0 with header line,
lc_wid like swwwihead-wi_id,
lc_objkey like SWW_CONTOB-OBJKEY.
BUSCA TODAS AS INSTANCIAS DO FLUXO
lc_objkey = NUM_REQ.
call function 'SWI_WORKITEMS_OF_OBJECT_GET'
exporting
objtype = 'BUS2105'
objkey = lc_objkey
tables
itemlist = lh_itemlist.
Elimina os Workitens que não sao de diálogo e não são de criação do
*fluxo.
delete lh_itemlist where not wi_chckwi is initial or wi_type <> 'F'.
loop at lh_itemlist.
Refresh: lh_wis.
CLEAR: lc_noant.
lc_wid = lh_itemlist-wi_id.
busca todos os workitems dependentes do WI pai
call function 'SWI_GET_DEPENDENT_WORKITEMS'
exporting
wi_id = lc_wid
tables
dependent_wis = lh_wis.
elimina WI que não são de diálogo
delete lh_wis where wi_type <> 'W'.
Verifica se existe alguma tarefa para o usuário informado se não
existir, né há necessidade de entrar no loop.
READ TABLE lh_wis WITH KEY WI_AAGENT = S_UNAME.
CHECK SY-SUBRC EQ 0.
Loop at lh_wis.
busca nó
search lh_wis-wi_creator for lh_wis-WI_CHCKWI.
lc_wiatual-node_id = lh_wis-wi_creator+sy-fdpos(22).
busca o SUBWORKFLOW que a tarefa pertence.
select single wi_rh_task
into lc_wiatual-task
from swwwihead
where wi_id = lh_wis-WI_CHCKWI.
Monta o log
IF S_UNAME EQ lc_wiatual-agent.
LOG-WORKITEM = lh_wis-WI_ID.
PERFORM MONTA_LOG USING TIPO_WFLOW
lc_wiatual-task
lc_wiatual-node_id
lc_noant
lc_wiatual-agent
lh_wis-WI_AAGENT
CHANGING LOG-TEXTO_LOG.
APPEND LOG TO T_LOG.
Busca o Agente
lc_wiatual-agent = lh_wis-WI_AAGENT.
lc_noant = lc_wiatual-node_id.
endloop.
Endloop.
ENDFORM.
MONTA O TEXTO DO LOG.
FORM MONTA_LOG USING TIPO_WF TAREFA NODE NODE_ANT AGENT AGENT_DEST
CHANGING TEXTO_LOG.
Data: lc_DESETAPA LIKE ZSICDESETAPA,
lc_LEN TYPE I.
BUSCA O TEXTO DO LOG.
SELECT * UP TO 1 ROWS
FROM ZSICDESETAPA
INTO lc_DESETAPA
WHERE TASK EQ TAREFA AND
NODE_ID EQ NODE AND
FLUXO EQ TIPO_WF.
ENDSELECT.
SE FOR ETAPA RECURSIVA
IF lc_DESETAPA-RECURSIVA = 'X'.
SELECT SINGLE LOG
INTO TEXTO_LOG
FROM ZSICETAPA_RECUR
WHERE TASK = TAREFA AND
NODE_ID = NODE AND
FLUXO = TIPO_WF AND
NODE_IDPAI = NODE_ANT.
ELSE.
TEXTO_LOG = lc_DESETAPA-LOG.
ENDIF.
IF NOT TEXTO_LOG IS INITIAL.
Formata Mensagem DO USUARIO ORIGEM
PERFORM busca_nome USING AGENT CHANGING LC_NAME.
lc_LEN = STRLEN( lc_NAME ).
IF NOT lc_LEN IS INITIAL.
REPLACE 'V1' LENGTH lc_LEN with lc_name(lc_LEN)
INTO TEXTO_LOG.
ELSE.
REPLACE 'V1' LENGTH 2 WITH SPACE INTO TEXTO_LOG.
ENDIF.
Formata Mensagem DO USUARIO DESTINO
PERFORM busca_nome USING AGENT_DEST CHANGING LC_NAME.
lc_LEN = STRLEN( lc_NAME ).
IF NOT lc_LEN IS INITIAL.
REPLACE 'V2' LENGTH lc_LEN with lc_name(lc_LEN)
INTO TEXTO_LOG.
ELSE.
REPLACE 'V2' LENGTH 2 WITH SPACE INTO TEXTO_LOG.
ENDIF.
ELSE.
TEXTO_LOG = ''.
ENDIF.
ENDFORM.
BUSCA O NOME DO USUÁRIO
form busca_nome using p_usrid CHANGING p_name.
data ln_pernr like pa0105-pernr.
check not p_usrid is initial.
Busca o no.pessoal do usuário
select pernr into ln_pernr up to 1 rows
from pa0105
where usrty eq '0001'
and usrid eq p_usrid.
endselect.
if sy-subrc = 0.
Busca o nome completo do usuário
select ename into p_name up to 1 rows
from pa0001
where pernr eq ln_pernr.
endselect.
translate p_name to upper case.
endif.
endform.
*& Form zf_monta_layout
text
--> p1 text
<-- p2 text
form zf_monta_layout.
Preenchendo algumas opções de impressão (Não é obrigatório)
v_layout-expand_all = 'X'. "Abrir subitens
v_layout-colwidth_optimize = 'X'. "Largura melhor possível da coluna
v_layout-edit = 'X'. "Permitir a edição
v_layout-zebra = 'X'. "Zebrar o relatório
v_layout-info_fieldname = 'COLOR'. "Cor da linha
v_layout-no_totalline = 'X'. "Não imprime a linha de Total.
v_layout-totals_before_items = 'X'. "Imprime o total antes do item
endform. " zf_monta_layout
Best Regards
Luciano Barreto -
Hi All
I want to create work item that will run a Transaction/Report.
when the user will execute the work item from his inbox
It will run a Transaction "z*" with some parameters and display the result (ALV Rp)
Thanks in Advance For Any Help.Hi Kobi,
1. Change (or extend) the BOR to create a new method to display this report or transaction.
2. When you define the method, you get a popup with 3 tabs. In the Abap tab, you can link it to a Transaction (or even a report).
You can also pass data.
3. Now create a new task in your workflow that will call this BOR method.
4. Create a new Workflow step, that will call this task created in step 3.
As simple as that.
Btw, if you want more details on this, you can refer to the SAP Workflow book from SAP Press. You can also read the SAP Help documentation which mentions these steps.
Hope this helps you. If it does, remember to reward points.
Rgds,
Prashanth.
SAP. -
Hello
Can someone help me with trying to obtain data on a specific rule? I need data on availability of a system and time down included. I use a bit of sql and powershell but I am having trouble finding counters and the actual
compilation of the report. I use Report Builder , SSMS and Operations Manager
Sinxcerely
EliseHi,
Please review the report below.
Reporting > Microsoft Generic Report Library > Availability
We
are trying to better understand customer views on social support experience, so your participation in this
interview project would be greatly appreciated if you have time.
Thanks for helping make community forums a great place. -
REPORT WITH CHANGING ITEM ON THE SAME COLUMN
Hi to all,
i'm trying to build a report with different item in the same column.
Is that possible in any way using other Oracle technique?
i'm not doing anything specific here, only i would like to know if the following possibility exist or not and how can i let apex render the htmldb_item fields 'dynamically'.
Using this CODE inside a PL/SQL function body returning sql query I obtain the following report content. Such the code of htmldb_item.fields is written, as a field value the HTML_ITEM is not rendered, so only the description of them appear in the report.
Does somebody know some tricks to make it work?
Thanx a lot
1 2 LAST_CALL htmldb_item.date_popup (4, ROWNUM, FLD_VALUE,'dd/mon/yyyy') VALUE
21 1 AGE htmldb_item.text(4,FLD_VALUE,10,10) VALUE
create or replace FUNCTION FNC_GEN_GUI_ITEM(ITEM_TYPE NUMBER) RETURN VARCHAR2 AS
STRHTMLDITEM VARCHAR2(4000);
BEGIN
CASE ITEM_TYPE
WHEN 1 THEN STRHTMLDITEM:=' htmldb_item.text(4,FLD_VALUE,10,10) VALUE ';
WHEN 2 THEN STRHTMLDITEM:=' htmldb_item.date_popup (4, ROWNUM, FLD_VALUE,''dd/mon/yyyy'') VALUE ';
END CASE;
RETURN STRHTMLDITEM;
END FNC_GEN_GUI_ITEM;
MY TABLE AS FOLLOWS:
CREATE TABLE "NEWPROJ"."DINFIELDGUI"
( "ID" NUMBER NOT NULL ENABLE,
"FLD_TYPE" NUMBER,
"FLD_NAME" VARCHAR2(4000 BYTE),
"FLD_VALUE" VARCHAR2(4000 BYTE),
CONSTRAINT "DINFIELDGUI_PK" PRIMARY KEY ("ID"));
Message was edited by:
Marcello NocitoHi to all,
i've solved, is very simple using decode inside the select:
SELECT
ID,
FK_HTMLDB_ITEM, DECODE(FK_HTMLDB_ITEM,1,HTMLDB_ITEM.DATE_POPUP(3,rownum,VAL,'dd-mon-yyyy'),2,HTMLDB_ITEM.TEXT(3,VAL)) VALORE
FROM TESTID
my table is:
CREATE TABLE "DEV"."TESTID"
( "ID" NUMBER NOT NULL ENABLE,
"FK_HTMLDB_ITEM" NUMBER,
"VAL" VARCHAR2(4000 BYTE))
Bye Bye -
How to Invoke Reports from Oracle Menus
Hi,
Pls. check the code for calling report from menu item.
For my report below I am not passing any parameter just calling a report in the menu item.
When I am calling the report option from the menu it is
Giving error message in the report engine which is
Starting report hdg04103 [Sun Mar 24 14:22:11 2002] ...
REP-0002: Unable to retrieve a string from the Report Builder message file.
REP-1439:
End report hdg04103 [Sun Mar 24 14:22:15 2002].
Pls. Look into the problem and mail me at your earliest.
Declare
t_sttm number(4);
t_edtm number(4);
t_worktime varchar2(4);
pl_id paramlist;
pl_name varchar2(20) := 'tempdata';
Begin
Select sttm,edtm into t_sttm,t_edtm
from rtaad231 where usrid = :global.usrid and cses = 'HDG04103';
Select to_char(sysdate,'hh24mi') into t_worktime
from dual;
if to_number(t_worktime) >= t_sttm and to_number(t_worktime) <= (t_edtm - 0015) then
pl_id := get_parameter_list('tempdata');
if not id_null(pl_id) then
destroy_parameter_list(pl_id);
end if;
pl_id := get_parameter_list('tempdata');
if id_null(pl_id) then
pl_id := create_parameter_list('tempdata');
end if;
Run_Product(REPORTS, '\\rcadon\oradata\applive\hedging\reports\hdg04103.rep', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id);
else
Message('You are not authorised to use this option at this time');
Message('You are not authorised to use this option at this time');
end if;
Exception
When NO_DATA_FOUND then
Message('You are not authorised to use this option');
Raise Form_Trigger_Failure;
End;
Regards
Saleemuddin.If you are not passing any parameters, you don't need to pass the parameter string. Replace the pl_id with "null" or use the 2 double quotes to represent the null eg. "" and see if you still get the same error
-
OBIEE: REPORT FROM 2 FACTS WITH ONE SHARED AND ONE UNSHARED DIM; POSSIBLE??
Hi All,
We have a typical scenario to build a report from 2 subject areas(ideally from 2 facts)
Here is the Scenario: Creating a report which based on two facts(2 Subject Area's) and one common dimension and one unshared dimension.
Example
======
Dimension Date is common between Fact Transaction and Fact Credits.
Dimension Credit Type is applicable only for Fact Credit.
We have to build a report with the below mentioned attributes/metrics
Dim Date. Attribute (*Common Dimension*)
Fact.Transaction.Metric
Fact. Credit .Metric
Dim.Credit Type. Attribute (*Unshared Dimension*)
Is this is possible in OBIEE..?
Thanks,
GovardhanaYes, you must use measure levels. Set the column level of each measure from the Transaction Fact to Total for the Credit Type dim.
-
Report from different connection pools
Hi All
My requirement is as below.
When USER1 logs in and builds a report from a subject area then the data is fetched from connection_pool1 and when user 2 logs in and builds the same report then data is fetched from connection_pool2.
The data are in identical table structures in both connection pools but for user2 there is a restriction on the volume of data hence can this dynamic feature be implemented? and How.
thanks
swastikWe cannot do this dynamically,We need to change this manually
Connection Pool ---- Permissions
Mark if helps,
Thanks, -
Report Generation - Build an exe from a PC with different Office Version
Hi,
I want to build an exe from a VI that uses Report Generation Toolkit. The application has to be deployed on several PCs that use Office 2000. During development phase I installed on my PC, Office 2000 and everything was ok. After I was done with it, I reinstalled Office 2007. So, the Report Generation Toolkit from my PC is for Office 2000 (it was installed when I had Office 2000 on my PC).
These days I had to fix some bugs from my application, I made a new exe but the part that generates Word reports (using RGT) is not working anymore - I received that error with -35...9935 (or something like this).
I tried to search for the problem and I found it: with exactly the same VI's (_Word Dynamic VIs.vi - for Office 2000) the invoke nodes from a PC with Office 2007 and a PC Office 2000 look different. For example in Word_Open_Document.vi, the invoke node Document is different for a PC with Office 2000 + RGT for 2000 and a PC with Office 2007 + RGT for Office 2000 (no mistake).
So, I've tried to copy the VI's from a PC with Office 2000 + RGT 2000 to my PC but I cannot build it because I get the error: There are some errors in _Word Dynamic VIs.vi (the invoke nodes do not fit).
Finally my question is: How can I build the exe on my PC: Office 2007 but with RGT for Office 2000??
Thanks,
Paul
Solved!
Go to Solution.Hi,
Thank you for your advice. Can you please tell me what you want to say with the wrapper vi? I don't really understand what you mean.
By the way, I solved the problem. I discovered that the Invoke Nodes are updated based on the Object Library for the ActiveX control (in this case the MS Office). The data types are store in the msword9.olb (version 9 - for office 2000 in Office folder) and msword.olb (version 12 - for office 2007 also in Office folder). I tried to register the msword9.olb (using the regsvr32.exe) but it doesn't work for olb files - I need the ocx or dll. But, if I replace the msword.olb from Office 2007 with msword9.olb from Office 2000 everything work.
Ok, steps that have to be done:
1. Install the RGT for Office 2000 on the PC
2. DO NOT Change anything in _Word_Dynamic VIs.vi. When Office 2007 is installed the VI arrow should be broken (error in VI)
3. Copy the msword9.olb from a system with Office 2000 (or your version) and copy it to your system with Office 2007 with the new name msword.olb. DO NOT FORGET to make a backup of the original MS Office 2007 file and to restore it at the end.
4. After the new msword.olb is there, the _Word_Dynamic VIs.vi should have no error
5. Build your exe application
6. Restore the old msword.olb
7. ENJOY your life !
I hope this is useful also for somebody else.
Paulie -
Building report from PL/SQL cursor
Hello,
is there any way to build APEX report using just PL/SQL cursor?
I don't have grant to SELECT from views or tables, but I can use some functions returning row types and cursors. I know I can use them to build table from scratch with htp.p etc., but it’s not very nice. I want to do it using APEX reporting with filtering and pagination functionality.
Is it possible?
Regards,
PrzemekApologies for the delay, I was out of the office.
Below is a package serving as the basis for creating a view based on a pipelined function. The package is just a skeleton and will not compile in its current form, you will need to go through it filling in the blanks as described by the comments.
If you want some control over what rows are returned by the view from a larger result set, use the set_parameters function in the WHERE clause, E.G.:
select * from really_big_complicated_slow_view where 1 = view_pkg.set_parameters(something_that_reduces_the_view_result_set_size);
Or, a more concrete example:
select result_text from view_to_convert_to_csv where 1 = view_pkg.set_parameters(pi_table => 'my_table', pi_where = 'whatever');
In the spirit of full disclosure, I got the idea for using the "set_parameters" function in the view WHERE clause from a post or blog somewhere a couple of years ago but have lost track of who actually deserves the credit for the good idea.
-Tom
create or replace package demo_vw as
-- Package to serve as the basis for a view based on a function
-- Customize this record so that it represents a row from this view...
type row_type is record (
-- record fields here
type table_type is table of row_type;
-- This function is used in the DDL to define the view, for example:
-- create or replace view my_view (col1, col2, ..., colN) as
-- select * from table(my_view_vw.get_view);
function get_view
return table_type
pipelined;
-- Customize this function header to accept the parameters for this view, if
-- any. If this view does not require any parameters, the set_parameters
-- function may be deleted.
-- This function should always return 1 and is called as follows
-- select <whatever>
-- from my_view
-- where 1 = my_view_vw.set_parameters(p1, p2, p3, ..., pN);
function set_parameters (pi_whatever1 in whatever,
pi_whateverN in whatever)
return number;
end demo_vw;
show error package demo_vw
create or replace package body demo_vw as
-- Customize this list of private global variables to match the parameters
-- required by the view. These variables are set, reset, and validated by
-- set_parameters, reset_parameters, and valid_parameters respectively...
g_var1 whatever;
g_varN whatever;
function set_parameters (pi_whatever1 in whatever,
pi_whateverN in whatever)
return number
is
-- Customize this function header to accept the parameters for this view, if
-- any. If this view does not require any parameters, the set_parameters
-- function may be deleted.
-- This function should always return 1 and is called as follows
-- select col1, col2, ..., colN
-- from my_view
-- where 1 = my_view_vw.set_parameters(p1, p2, p3, ..., pN);
begin
g_var1 := pi_whatever1;
g_varN := pi_whateverN;
return 1;
end set_parameters;
function valid_parameters
return boolean
is
-- Customize...
-- Assumes that set_parameters has been called to set the value of the view
-- parameters.
l_valid boolean := true;
begin
return l_valid;
end valid_parameters;
procedure reset_parameters
is
-- Customize...
-- This is called at the end of the get_view function to reset the view
-- parameters for the next caller.
begin
g_var1 := null;
g_varN := null;
end reset_parameters;
function get_view
return table_type
pipelined
is
-- build and return each row for the view...
l_row row_type;
begin
if valid_parameters then
-- do your process to populate the l_row variable here...
pipe row (l_row);
end if;
reset_parameters;
exception
when others then
reset_parameters;
raise;
end get_view;
end demo_vw;
show error package body demo_vw
create or replace view demo
as
select * from table(demo_vw.get_view); -
Error while Opening the report from template builder
hi all,
After log in in the BI publisher template builder, tried to Open the report from the report Template . Then the message is displayed as Error occurred: ‘Please check the settings and try again’.
I am using the OBIEE 10.1.3.3 version and Ms-Office 2000......
Please give me the solution very urgent............
RegardsHi,
I am having the same issue. I am not able to import Crystal Report.
the error is "No matching records found 'Queries' (OUQR) (ODBC -2028) [Message 131-183]"
I have previewed the report using Preview external crystal report option and is running perfect.
please guide ASAP.
Regards
Sonil -
Reports - "Derive from Page Item" Missing in APEX 3.0.1?
I installed a patch 3.0.1.
I can't find on the list of formats in report queries option:
"Derive from Page Item"
But, in help window for the list of formats I can read:
"The format attribute specifies the download format for the report query.
Report queries can be downloaded as PDF documents, Word documents (RTF
based), Excel Spreadsheets
(HTML based) or as HTML files.
To determine the download format at runtime of the application, choose
"Derive from Page Item"."
Where is "Derive from Page Item" option?
Best Regards
Daniel KozlowskiOption "Derive from page Item" is still available in 2 places:
1. "Shared Components -> Report Queries -> Create Report Query" on last
"Create Shared Query" window.
I can choose it from "Output Format" list.
2. In report properties on "Print Attributes" tab.
I can also choose this option, from "Output Format" list.
Of course, above options still doesn't work correctly. -
Invoice line items report from DSO compared to Infocube (in HANA)
Hi Folks,
As you know Invoice line items are very granular level information. We are facing performance issues on reports based on the Infocubes to display this information. We are migrating to HANA and looking for options to improve the performance. One of the option we are looking at is instead of Infocube can we we report directly on the DSO. I would like to know whether it will help and its Pro & Con's. Please help.
Thanks,
BHi B,
Reading data from a DSO instead of an InfoCube will not improve reporting performance. The benefit in getting rid of the cube is that you have less loading to do. You still need cubes for planning and inventory scenarios.
You do not need a composite provider to report from DSOs in BW. Once you've migrated to HANA you use DSOs just as you would today, and you can report from a multiprovider. Yes, you can use a composite provider, but it is not necessary.
If your report is slow today, you need to find out where it is slow. HANA could provide a huge benefit as soon as you migrate, or it might not help much. It depends on the scenario. OSS 1681396 is a good place to start.
If the DB time is long, and you're not using BWA today, you can expect big benefits when you migrate to HANA.
If the OLAP time is long, you might see big benefits when you migrate, as the OLAP engine during query execution is pushing more to HANA.
If the frontend time is long, migrating to a different database isn't likely to change that, you'd need to address that separately.
Finally, an important point to remember is that once you've migrated you open up additional possibilities for improvement that are not available to you in BW-on-non-HANA. For example, you might be able to rewrite queries as HANA models. I did some performance tests on this in a very simple case of exception aggregation.
Maybe you are looking for
-
Sharing itunes library between two accounts on the same imac
We just got a 27" imac and my wife and I have our own log on accounts. We share our itunes library. I have moved our itunes library to the shared folder so both of us can see its contents and pointed itunes on both user accounts to that shared folder
-
How do I get my contacts from my Cingular RAZR to my MacBook Pro?
I did a quick search of the forum and did not find an answer to this specific question. I just switched over to Mac after being a long time PC user. Read many of the threads dealing with pairing the RAZR via bluetooth. I had no problem pairing my pho
-
My Bridge CS6 has suddenly become too bright. Any fixes?
-
No Sound on iPhone 5 After iOS 8 Install
Does anyone know if Apple has come up with a fix for this issue? I didn't realize until today that this soundlessness extended to music, as I usually wear headphones or am plugged into my car. As a matter of fact, the volume bar is greyed-out when
-
Can someone give me more detail about an error
environment did not include a memory pool : I intialize my environment and try to open a database when I get this message.