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

Similar Messages

  • How to build a report in web Intelligence using Store procedure under Microsoft SQL Server 2000

    Post Author: ltkin
    CA Forum: WebIntelligence Reporting
    Hi,
    How to build a report in web Intelligence using Store procedure under Microsoft SQL Server 2000 ?
    Regards,

    Hi ltkin,
    Unfortunately, it is not possible in Xir2 to create Webi reports from stored procedures.
    Webi reports can only be created from Universe. So in Business Objects XIR3 we can create a special universe that enables Web Intelligence user's to access stored procedures residing in the database. This is the only way that Web Intelligence user's can access stored procedures.
    Please let me know if the above information helps.
    Regards,
    Pavan

  • How to invoke crystal reports from Oracle forms 11g R2 along with passing p

    How to invoke crystal reports from Oracle forms 11g R2 along with passing parameter to it.
    how to pass parameters to crystal report, please help.

    how to pass parameters to crystal report, please help.This would entirely depend on crystal reports and you might find informations on crystal reports related communities more likely...I for one have seen crystal reports the last time about 12 years ago. And even back then I simply acknowledged it's existence instead of working with it.
    Maybe crystal reports can be invoked via a URL call which would make it simple as you'd need simply build an URL and show the report using web.show_document. But that's pure speculation. Also you might not be the first with this requirement, so the solution to your problem might be right under your nose and just a little google search away ;)
    cheers

  • How to run a report from oracle 10g form in .csv format

    dear all,
    how to run a report from oracle 10g form in .csv format? i've already run in pdf & excel format.
    i'm using
    SET_REPORT_OBJECT_PROPERTY (ro_report_id, report_desformat, 'PDF'); --for pdf
    SET_REPORT_OBJECT_PROPERTY (ro_report_id, report_desformat, 'SPREADSHEET'); ---for excel
    Please Help..

    i have already tried.
    but the report show in htm or html format. that file will not save into csv. please help.

  • How can print a report from form 6i,  when I press a button?

    hi Friends,
    How can print a report from form 6i, when I press a button?
    When i press a button from Form 6i, the report should print through printer.
    I have done it by using report parameter DESTYPE Printer but problem is that when I press a button printer dialogue box appear and then I give command Print to printer, I don’t want to show Printer dialogue box.
    I want when I press a button form Forms 6i , printer will print my report directly.
    Please send me the solution of this problem.
    Best regards,
    Shahzad

    Hi
    If You are using Client server application then to passing to Add all Print Parameter in the Host Command.
    Means Print command in unix to Host(lp.............) and Other Parameter to file name of the report to print.
    If You not Use Client Server Application the Also Passing a Host Command in Button-Pressed Event and Run.

  • How to move a report from one account to another account

    Dear all ,
    How to move a reports from one account to another account.
    These are reports sent automatically. Unfortunately, I do not know where to find them and how to export to another account.
    Puru

    Hi,
    You can use the Transaction SCC1 to move the data from One Client to Another Client for a Client dependent table.
    The data should be present in a Transport and you can import to Transport to any client using SCC1.
    Contact the Basis team to know how to use SCC1.
    Regards,
    Aj

  • How to build a String from Date?

    How to build a String from class Date?
    How to get the year, month, day, hour ... from a Date object.

    Ok to build a string use this function in java.util.Date
    toString()
    TO get year, date, etc u can use the following functions
    getYear()
    getDate()
    This link might help u more
    http://java.sun.com/products/jdk/1.1/docs/api/java.util.Date.html

  • How to call BI report  from web dynpro

    Hi ,
    How to call  BI report from webdynpro application  and what are the prerequisites for that .
    Please provide an example to work with BI application frame UI element
    Thanks

    Hi Rajpal,
    Please go through this..
    calling BI report
    Cheers,
    Kris.

  • How to call java method from workflow script?

    Hi
    I have a requirement of updating field value 'Document Status' based on review/approve of content from Workflow and hence need to update the version number. For that I need to call my java method from workflow during submit of review/approve condition. Please let me know how to call java method from workflow?
    Is there any alternative better way to achive this requirement from workflow? Please suggest.
    Thanks,
    Sarang

    OK. So, I think we can all conclude that you don't need to call any Java method, can't we? And, that wfUpdateMetadata is the command that will update your metadata.
    Now, the question is what are its arguments. It has two - the first is the name of a custom metadata field to be updated (let's suppose that one field is called xMinorVersion, and the other xMajorVersion), the other is the new value, e.g. <$wfUpdateMetaData("xMinorVersion", "New value.")$>As for new value - do you insist on using strings? Since you want to increase the value, it would be more convenient to work with numbers. For instance, with integers you could go with <$wfUpdateMetaData("xMinorVersion", xMinorVersion + 1)$>With strings you will need to convert it to numbers and back to strings. Besides, what happens if you have more than 100 minor versions? (you mentioned you want to add 0.01, but that would finally increase the major version, wouldn't it?) So, I think these two numbers are independent (perhaps, with exception that increase on the major version set the minor version to .00).
    If you want to present it, you can use profiles that will construct for you the representation 2.304 out of MajorVersion = 2, MinorVersion = 304
    Solved?

  • 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,
    NN

    Hello 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

  • How do I launch report from menu using RUN_REPORT_OBJECT?

    Hi all,
    Re: How do I launch report from menu (and have it print to the screen) using RUN_REPORT_OBJECT?
    I am using Oracle 9iAS on Windows 2000 and I have a similar problem with launching reports from the menu. The application should call the report via the RUN_REPORT_OBJECT builtin feature from Forms. The report is never displayed.
    The report is in the same folder as the menu form calling it. Do the reports have to be in a specific format? How do I get the report_id?
    The name of the report is seconds_calls. No user-specified parameters are passed. Also, the report object in the object navigator in Forms is Report4 (is this relevant?)
    When I try to run report via the form using this code:
    DECLARE
         report_id REPORT_OBJECT;
         rep_status VARCHAR2(200);
         v_rep VARCHAR2(100);          
         report_job_id VARCHAR2(200);
    --     job_number NUMBER;
    --     server_name VARCHAR2(200) := 'repserver';
    BEGIN
         report_id:= FIND_REPORT_OBJECT('seconds_calls');
         rep_status:=REPORT_OBJECT_STATUS(report_job_id);
         v_rep := RUN_REPORT_OBJECT(report_id);
    END;
    I get this error message:
    FRM-41219 Cannot find report:Invalid ID
    And this message
    FRM-40738 Argument 1 to builtin RUN_REPORT_OBJECT cannot be null
    When I tried to use the same code (above), substituting the object name for the form name,
    I got these messages:
    FRM-41219 Cannot find report:Invalid ID
    FRM-40738 Argument 1 to builtin RUN_REPORT_OBJECT cannot be null
    And FRM-10259 Invalid null argument to packaged procedure or function (???)
    Any ideas?
    Cheers,
    Pippa

    Philippy,
    substr(v_rep,instr(v_rep,'_',-1)+1)
    This code extracts the Reports job id from the Reports Server name. The run_report_object() built-in
    retrieves e.g. RepServ_9 as a job id, but in Reports9i you only need the '9' as a value to retrieve the
    output.
    Use the following sample a template. It is a procedure that expects the reports object name, teh reports server name and the
    output format as an argument. The call to Web.show_document expects the ReportsSrevices to be accessible from teh same server
    (relative addressing is used)
    PROCEDURE RUN_REPORT_OBJECT_PROC (vc_reportobj Varchar2, vc_reportserver varchar2, vc_runformat varchar2) IS
    v_report_id           Report_Object;
    vc_ReportServerJob      VARCHAR2(100); /* unique id for each Report request */
    vc_rep_status      VARCHAR2(100); /* status of the Report job */
    vjob_id               VARCHAR2(100); /* job_id as number only string*
    BEGIN
    /* Get a handle to the Report Object itself. */
    v_report_id:= FIND_REPORT_OBJECT(vc_reportobj);
    SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_COMM_MODE,SYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESTYPE,CACHE);
    /* Define the Report output format and the name of the Reports Server as well as a user-defined parameter, passing the department number from Forms to the Report. We don't need a parameter form to be displayed, and therefore paramform is set to "no". */
    SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESFORMAT, vc_runformat);
    SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_SERVER, vc_reportserver);
    SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_OTHER,      'p_deptno='||:dept.deptno||'paramform=no');
    vc_ReportServerJob:=RUN_REPORT_OBJECT(report_id);
    /* remove the Reports Server name from teh job id */
    vjob_id := substr(vc_ReportServerJob,length(reportserver)+2,length(vc_ReportServerJob));
    /* Check the report status if finished. */
    vc_rep_status := REPORT_OBJECT_STATUS(vc_ReportServerJob);
    IF vc_rep_status='FINISHED' THEN
    /* Call the Report output to be displayed in a separate browser window.
    The URL for relative addressing is only valid when the Reports Server
    is on the same host as the Forms Server. For accessing a Remote Reports
    Server on a different machine, you must use the prefix http://hostname:port/ */
    WEB.SHOW_DOCUMENT ('/reports/rwservlet/getjobid '||vjob_id ||'?server='vc_reportserver,'_blank');
    ELSE
    message ('Report failed with error message '||vc_rep_status);
    END IF;
    END;
    Frank

  • How to deactivate stocks report from pull down?

    how to deactivate stocks report from pull down bar?

    Unlock the phone so the home screen displays.
    Pull down the notification screen.
    Select the "Today" tab.
    Scroll down to the "Edit" button.

  • How to call crystal report from plsql

    How to call crystal report from plsql?

    http://asktom.oracle.com/pls/ask/f?p=4950:8:14685899341865976974::NO::F4950_P8_DISPLAYID,F4950_P8_CRITERIA:952229840241,

  • How to migrate webanalysis reports from System 9.2 to System 11

    how to migrate webnalysis reports from 9.2 to Hyperion System 11. I know the migartion utility only works for Pre system 9 products. We have new env of sytem 11 and succesfully migrated planning and HFM from 9.2 to system 11. How to migarte webanalysis reports.

    Have you been able to resolve this ?
    There are various approaches possible, depending on the amount and the folder structure of your reports.
    One is to use life cycle management (not sure how stable it is in 9.2), the other is the import/export tool within web Analysis
    Hope this helps,
    Jeremie

  • How to create a new report from an information structure?

    Dear gurus,
    My customer wants to have a sales report by product hierachy. I want to create an information structure for product hierachy and create a report from this info structure like a standard report. I dun know which steps to do. Pls tell me how to do. Your help are highly appreciated.
    Thank you!
    Rgds,
    Nghi Do

    Hi,
    Steps in LIS EXTRACTION:
    T.code - :MC18 u2013 create field catalog
    1. Characteristic Catalog
    Application-01-Sales and Distribution, 02-Purchasing, 03-Inventory Controlling, etc..
    Catalog category 1. Characteristic catalog, 2. Key figures catalog 3. Date catalog Select characteristic catalog and enter, click on characteristic select the source table and it will be display the relevant source field and select the source field, copy + close, copy.
    Save, similarly create key figures catalog
    T.code : MC21 u2013 create infostructure
    Example u2013
    Inforstructure : S789
    Application u2013 01
    Choose characteristic select the catalog, select the fields, copy + close Choose key figures catalog select the key figures ,copy + close, save and generate
    T.code u2013 MC24 u2013 create updating
    Infostructure : S789
    Update group : 01- Sales document, delivery, billing document ,enter Select the key figures click on rules for key figures give suggest rules, copy save and generate Click on updating (activate updating) Select the infostructure set periodic split 1. Daily, 2. Week, 3. Month, 4. Posting period Updating u20131)No updating,2)Synchronous updating (V1), 3)As synchronous updating (V2), 4)As synchronous updating (V3),
    T.code u2013 LBW0 - Connection of LIS Information structures to SAPBW Information structure : S786 Select the radio button-Setup LIS environment and Execute.
    Select the radio button-Generate data source and Execute.
    For Delta update:
    Select the radio button-Generate updating and Execute Select the radio button -Activate / deactivate and Execute.
    T.code u2013 SBIW u2013 Display IMG (implementation guide) Setting for applications specific data source u2013 logistics u2013 Managing transfer information structure u2013 setup of statistical data u2013 applications specific setup of statistical data u2013perform statistical setup u2013 sales.
    Choose activity
    Setup u2013 Orders, deliveries, billing
    Choose the activities enter the infostructure (S789), give name of the run, date of termination, time of termination, No. of tolerated faulty documents. Then execute
    T.code u2013 RSA3 u2013 Extractor checker
    Give the data source name eg. 2LIS 01S789 and execute, result will get some records Go to BW side replicate data source u2013 Assign infosource u2013 Create infocube u2013 Create update rules u2013 create infopackage and schedule the package with initialize delta process.
    For delta update :
    In R/3 side
    T.code u2013 MC25, set update (V1) or (V2) or (V3)
    T.code u2013 LBW0, choose generate updating and execute then choose activate / deactivate and execute
    BW side - create infopackage and schedule the package with delta update.
    First time if your scheduling the infopackage -in R/3 side T.code :MC25 -Udating set to No update,insted of selecting the update V1,V2,V3.
    If your doing the Delta update:in R/3 side T.code :MC25-Updating set to either V1 or V2 or V3. and the to T.code :LBW0 -Select the radio button Active/deactivate and Execute.
    and schedule the infopackage with delta update.
    Modules for LIS : SD,MM, PP,QM.
    Deltas for LIS:
    After setting up the LIS environment, 2 transparent tables and 1 extract structure is generated for this particular info structure. Within transaction SE11 you can view the tables u2018SnnnBIW1u2019, u2018SnnnBIW2u2019 and the structure u2018SnnnBIWSu2019 and the InfoStructure itself u201ASnnnu2018
    The tables S5nnnBIW1 & SnnnnBIW2 are used to assist the delta update process within BW.
    Extract structure u2018SnnnnBIWCu2019 is used as an interface structure between OLTP InfoStructure and BW
    The OLTP system has automatically created an entry in the control table u2018TMCBIWu2019. Within transaction u2018SE16u2019 youu2019ll see, that for your particular InfoStructure the field u2018BIW activeu2019 has the value u2018Xu2019 and the field u2018BIW statusu2019 is filled with value u20181u2019 (refers to table SnnnBIW1).
    The orgininal LIS update program u201ARMCX#### will be enhanced within the form routines u201Aform Snnnbiw1_update_....u2018 and u201Aform Snnnbiw2_update
    With the transaction u2018SE38u2019 youu2019ll see at the end of the program starting at line 870 / 1006, that the program is enhanced within a u2018BIW delta updateu2019 coding
    Within the flag u201AActivate/Deactivateu2018 the update process into the delta tables (SnnnBIW1/Sn5nnBIW2) is swichted on/off. In the table u201ATMCBIWu2018 is defined, which table is active for delta update.
    Note: The delta updating is client dependent !
    Regards,
    Ram Pedarla
    Edited by: RamPedarla on Apr 1, 2010 10:35 AM
    Edited by: RamPedarla on Apr 1, 2010 10:35 AM

Maybe you are looking for

  • Vendor field should not display when GI is done in MB1A?

    Hi  guys , i have  a  report programe here i am pulling  all the material data  and purhasing order info  in the background using the BADIO MB_DOCUMENT BADI.  here i am writing my logic. this BADI is triggering  once material Documnet is created  in

  • Bible software

    Having just entered the realm of the MAcBook and lovin' it, I now need to find an application that will help me do research and exegetical work in the Bible. I used BibleWorks 6 when I lived in the dark side, and need a program of similar capacity wi

  • Question on Restore,Recovery from Image Copy in RAC

    version: 11.2.0.3 Platform : AIX 6 Found the following in http://www.oracleracexpert.com/2011_12_01_archive.html SYS@DBTEST>startup mount SYS@DBTEST>switch database to copy; SYS@DBTEST>Recovery the database; SYS@DBTEST>Alter database open;The author

  • Objects in  Table Spaces

    Hi all, I want to find which are all objects present in which tablespace, how to find this? -GK

  • MB1B transfer posting Idoc/Message type for outbound and inbound

    Hello All Can anyone tell me the idoc/message type for movement type 313 outbound and 315 inbound to SAP. This is for MB1B Enter Transfer Positing. Thanks Ricky