R/3 workflow information

Is it possible to store "workflow" information in BW?  We currently use a customised program in R/3 to retrieve this information, but would prefer to access it via BW if possible.
Regards, Frederick

Hi Niharika,
I think you have a typo in your code. You can retrieve the work item id by using [code]<Property name="DynamicParameter" value="wi_id=${item.<b>externalId</b>}" />[/code] instead of [code]<Property name="DynamicParameter" value="wi_id=${item.<b>externaId</b>}"/>[/code]
In addition, you can get values from the work item container by extracting them as custom attributes:
[code]<ItemType name="uwl.task.webflow.TS90000001.<system id>" connector="WebFlowConnector" ...>
  <ItemTypeCriteria ... />
  <CustomAttributes>
  <CustomAttributeSource id="WEBFLOW_CONTAINER" objectIdHolder="<element name>" ...>
  <Attribute name="<element name>" type="string" displayName="<element description>" />
  </CustomAttributeSource>
  </CustomAttributes>
  <Actions>
    <Action name="launchWebDynPro" handler="SAPWebDynproLauncher">
      <Properties>
        <Property name="DynamicParameter" value="<custom param>=${item.<element name>}" />
      </Properties>
      <Descriptions default="" />
    </Action>
  </Actions>
</ItemType>[/code]
Hope this helps,
Mikko

Similar Messages

  • UCCE 7.5 - CAD - In which database workflow information is stored?

    Hi guys,
    I'm wondering in which database the workflow information is stored for CAD agent.
    In fact, how does Cisco Desktop Administrator works?
    Thank you very much for your attention.
    Best Regards,

    All is stored in the LDAP - Directory Services. The Sync process pulls ICM information from the AW DB and inserts it into the LDAP.
    You can see all of the info with a LDAP browser. Download a free LDAP Browser and connect anonymously - you can browse it and see how it is laid out. I have posted instructions on how to access the LDAP before, if you care to search for the post.
    Regards,
    Geoff

  • Read currently running workflow information

    Hi everybody,
    Please let me know if anyone came across a situation where we need to read the currently running workflow information..
    To be precise, I have a workflow which starts a method, which in turn executes code present in an include.. Now, in this include, I need to know whether it was called from the workflow.. (What i mean to say is that, the include could have been called from many places.. like BAdI methods etc.. I need to execute a specific action only if it was called from the workflow.)
    The plan could be something like.. "read all the currently running workflows and get the related information" .. Any idea how????
    Regards,
    Arun B

    Hello again,
    well, as long nobody else runs jobs using this background-user or changes the user-ID of the workflow-system, it'll work fine.
    To be more precisely on the WF-BATCH user, you could also check for the configured name. Anyways, for a quick check/fix you could be fine when using this procedure.
    However it'll not work within work-item execution from dialog-tasks, as then the actual user processed the code.
    So here's the code snippet to determine the workflow user's user-id:
    *Method signature:
    * RETURNING VALUE( RV_WF_BATCH ) TYPE XUBNAME
    *   "User Name of workflow background user
    method GET_WORKFLOW_USER.
       DATA: lv_rfcdest             TYPE RFCDES-RFCDEST.
    *   Read the RFC destination from workflow basic customizing
       CALL FUNCTION 'SWW_WIM_RFC_DESTINATION_NAME'
          IMPORTING
             WORKFLOW_DESTINATION       = lv_rfcdest.
    *   Read the user-ID from this destination
       CALL FUNCTION 'RFC_READ_L_DESTINATION'          "#EC CI_USE_WANTED
           EXPORTING
              DESTINATION               = lv_rfcdest   "#EC CI_USE_WANTED
              AUTHORITY_CHECK           = ' '
           IMPORTING
              USER                      = rv_wf_batch
           EXCEPTIONS
              OTHERS                    = 0.
    endmethod.

  • SSHR workflow information

    Hi Gurus,
    I have a below requirement. Appreciate if anyone can help.
    Suppose if we do Assignment Change/New Hire/Termination etc functions through SSHR, then initially it stores
    temporary on hr_api_transactions,hr_api_transaction_steps,hr_api_transaction_values till final approver approves it.
    Once it is approved, it triggers API and commits into the system. User need a report to know who initiated,start_date,end_date and who approved etc details. As far i know it stores all these info in Workflow tables until DBAs purge it. Is there anyway we can get these details using Workflow tables. If Yes, can anyone have idea/query to get it.
    Is there any approval history table which stores this information(person_id,transaction_id,start_date,end_date,status etc)?

    try this to start:
    SELECT *
    FROM (SELECT wi.item_type,
    wi.item_key,
    wi.root_activity,
    wav.display_name process_name,
    wav.read_role,
    wav.write_role,
    wav.execute_role,
    wav.begin_date wav_begin_date,
    wav.end_date wav_end_date,
    wi.root_activity_version,
    wi.owner_role,
    wi.parent_item_type,
    wi.parent_item_key,
    wi.parent_context,
    wi.begin_date,
    wi.end_date,
    wi.user_key,
    witv.NAME,
    witv.display_name,
    wf_directory.getroledisplayname
    (wi.owner_role) AS role_name,
    wf_fwkmon.getitemstatus
    (wi.item_type,
    wi.item_key,
    wi.end_date,
    wi.root_activity,
    wi.root_activity_version
    ) AS status_code,
    wf_fwkmon.getroleemailaddress (wi.owner_role) AS role_email,
    DECODE
    ((SELECT COUNT (0)
    FROM wf_items wi2
    WHERE wi.item_type = wi2.parent_item_type
    AND wi.item_key = wi2.parent_item_key),
    0, 'WfMonNoChildren',
    'WfMonChildrenExist'
    ) AS child_switcher
    FROM wf_items wi,
    wf_item_types_vl witv,
    wf_activities_vl wav
    WHERE wi.item_type = witv.NAME
    AND wav.item_type = wi.item_type
    AND wav.NAME = wi.root_activity
    AND wav.VERSION = wi.root_activity_version ) qrslt
    WHERE item_type = :1
    AND begin_date >= TO_DATE ('30-MAY-2010 08:00:00', 'DD-MON-YYYY HH24:MI:SS' )
    ORDER BY item_key,wav_begin_date

  • Workflow information combine to one view/list

    I current have a list setup in sharepoint, with workflow created.
    I have created the rule using custom workflow created in designer.
    1)First guy fills in content of list and starts the workflow. 2) 2nd guy is assigned certain information to provide, and he does that. 3) 3rd guy will need information from both guys and make decision (approved or rejected).
    My issues is when 3rd guy is assigned to the task, he can only view stuff from 1st guy. Seeing the information from the 2nd guy is a lot harder and not that clear.
    Does anyone know if I am able to have view where the 2nd guys information is added to the view for 3rd guy (or similar). its really annoying me.
    Thanks!

    Are the columns that the second guys is required to fill in consistent?  If so, than a static view with just these columns in might be the answer.
    Steven Andrews
    SharePoint Business Analyst: LiveNation Entertainment
    Blog: baron72.wordpress.com
    Twitter: Follow @backpackerd00d
    My Wiki Articles:
    CodePlex Corner Series
    Please remember to mark your question as "answered" if this solves (or helps) your problem.

  • Workflow Information

    Hello Everyone,
    I am looking for infomation on CRM Workflow and how to use to standard workflow for specific business case.I have gone through help.sap.com to find out some information, I got idea...but looking for more information how to use to workflow.
    Any information or documentation would be great help.
    Thanks,
    Ajay

    Hi Ajay,
              I am also in ur situation.. to know about CRM Workflow... If i got any information about workflow(CRM)..  i will share with u... I am expecting from ur help also... id : [email protected]. Can u share about the information in help.sap.com..
    thanks in advance
    sk

  • Attribute & workflow information missing - serious problem

    Hi
    I have a peculiar problem......
    I have been using the repository for a few days now & all of a sudden i realised that the attribute names that i created in Data Manager have disappeared, rest of the attribute information are intact. The attributes are without any name & description. Similarly i was working on the workflow & later even their names & description got disappeared, though the workflows & other details are intact. My server is in a secure area & i am sure nobody has tampered with the database. The other repositories which i have not been using for the last few days are good.
    Has anybody faced this problem before & how can i trace what has gone wrong & how to get back the deleted information? Any suggestions.
    Arvind

    Hi,
    could you please stop the repository and Load it with "Update Indizes" again?
    This should solve the problem.
    Regards,
    Florens

  • Save workflow information

    Hi,
    I have the following scenario:
    - A user gets added to a group using workflowSaveChangeAttributeRequest function sent to the OAM server using IdentityXML.
    - The workflow is initiated by a third-party person in a page that does not have the credentials of the user to be added to the group.
    - Therefore, I have created a hardcoded account that has access to initiate the workflow, say admin/password.
    - When the workflow is initiated (onclick of a button in my custom page) admin/password get inserted in the identityXML on the server side, and user (e.g. user1) gets added to the group (e.g. group1).
    The problem:
    - When I check the workflow logs using the Monitor Requests tool of OAM I can't track which user was added to the group. Only which user initiated it which is of no use to me.
    Possible solutions:
    - I tried setting the workflow initiation permissions to "anyone", and tried initiating the workflow (through IdentityXML) with no credentials at all. It didn't work.
    - I tried finding a field or an option in OAM to save some information with the request. I didn't find anything.
    Does anyone have an idea about how to solve this?

    I think there is no need to complicate it you can just enable the approvals through email so whatever the mobile used the manager will receive an email and he can take action through email.

  • 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

  • Workflow Information System (WIS)

    Hi all,
    Recently i came to know about WIS.
    When i researched, i found that it is a workflow reporting tool for LIS (Logistics) system only.
    (1) Then what about workflow reporting for non-LIS system ?
    (2) From SDN, I discovered that it is going to be obselete soon. Then what is the alternative for the same ?
    Please answer my qus.
    (3) I will highly appreciate if you can give more practical examples of the WIS reporting.
    In SDN, till now no clear cut explanation is posted for WIS.
    Let's make this thread count so that others can leverage from it.
    Regards,
    Debi

    Any body who can answer my question ?
    Thanks,
    Debi

  • Library Storage and backup, really need equipment and workflow information.

    I have about 700 Gigs of files on three external hard drives, which are backed up to three more. My copy of Aperture arrived today, and, after reading the included booklet, I still don't understand the basic storage, backup and workflow structure of the program. Questions:
    Does your library have to be stored on one disk, or can it be spread over several in a JBOD setup, or will I need a raid 0 or 5? I need to plan for a Library that will hold TBs if they have to be in one place. The manual says that the program works better with the library on an internal HD - will an external SATA do just as well? $499 for the program and $12,000 for an x-serve RAID? Seriously, can you keep all of your photos in one place?
    Backup (vault): the manual mentions that you may have to move the vault when it exceeds the size of your external disk. Can it be spread out over several disks? Will it need a RAID as well?
    I'm using C1Pro (currently in disfavor), PS CS2 (gets better every version) but was hoping for a better workflow and, yes, a way to organize my entire library and speed my workflow. Aperture looks great. Having said that, experience tells me that I will need PS a lot, and may want to do conversions outside of aperture on a regular basis. So, if I import the RAW files directly into Aperture, can I find them in the finder, or export the original RAW? HOW PLEASE? It doesn't make a lot of sense to examine them in Bridge before I decide which ones to Bring in to Aperture. Do I just have to make duplicates to HD or DVD of the original RAW files?
    Is there a more detailed explanation of file handling. I have read the booklet, looked at help, checked the articles at Apple Support and read every thread in this forum. Did I just stupidly overlook something obvious?
    I know this is a brand new program, but for a professional photographer's tool, someone should have anticipated these questions. Egads!, I just know it's there but I can't find it. I would really appreciate any help.

    Does your library have to be stored on one disk, or
    can it be spread over several in a JBOD setup, or
    will I need a raid 0 or 5?
    I believe the library must be on one LOGICAL drive. This could be one physical drive, a JBOD configuration or a RAID 5. In anycase, it has to be one logical drive.
    I need to plan for a
    Library that will hold TBs if they have to be in one
    place.
    Since you can specify the location of the library, you can store multiple libraries on multiple internal drives and switch between them. Hopefully, in future versions, Aperture will seamlessly support multiple libraries on different (and networked!) drives.
    Backup (vault): the manual mentions that you may have
    to move the vault when it exceeds the size of your
    external disk. Can it be spread out over several
    disks? Will it need a RAID as well?
    Only if it is also a JBOD or a RAID configuration. You cannot span multiple logical drives.
    So, if I import the
    RAW files directly into Aperture, can I find them in
    the finder, or export the original RAW? HOW PLEASE?
    Finding them in the Finder is not easy. Doable but not easy, as it is well hidden inside a package. Aperture actively discourages you from doing this. Can you imagine the havoc if someone deleted a raw file from the finder? Aperture (and all the xml files it creates) would be looking for missing files and this would lead to corrupted projects.
    To export a RAW file out of the library:
    File -> Export Master . This menu option will export the original raw file out of the library. Not sure why you would want to do that. If you want to edit it in Photoshop, select the image in Aperture and select Images -> Open with external editor. This will transfer the image into photoshop (assuming you have photoshop set up as your external editor). When you're done editing, save the image (just save, not save as). Close the image in photoshop and Aperture will automatically pickup the change.
    Do I just have to make duplicates to HD or
    DVD of the original RAW files?
    You export the versions into a directory. Then you burn that directory and then delete it. So yes, it would appear that you are duplicating images for the purpose of burning. So you must have at least as much free space on your hard disk as the empty CD/DVD.
    G5 Quad, 30" ACD driven by a Quadro   Mac OS X (10.4.3)  

  • How to tell what version of a document the workflow ran against?

    I am using the OOB Approval workflow and in the workflow information I see a Document field, but that links latest version of the document. How can I tell what version of the document the workflow actually ran against?

    Hi,
    Set a variable in the workflow to be equal to the version of the document.
    Now you can use this variable to update a column in the document library with the version and date the workflow was ran. Next time the workflow runs, update this column with next run details.
    OR write this variable to workflow history. Hope it helps.
    Regards, Kapil ***Please mark answer as Helpful or Answered after consideration***

  • Can we change the name of reassign button in sharepoint 2010 approval workflow?

    can we change the name of reassign button in sharepoint 2010 approval workflow?
    Shazil Ali

    Yes, we can change it. Steps are as follows: 1. Create the workflow in SharePoint Designer 2010 2. Use Start Approval Process action 3. Write your logic and all setting as per you requirement and then publish the workflow once. 4. After this, click on
    the workflow name and there you will see the sections as Workflow Information, Customization, Settings, Start Options, Forms. Here you will see a form under Forms section with a name of Approval_x00....... with a type "Task". Click on this form. This form
    is an Infopath form that opens up when a task is to be edited (Task Form). This form will open up in Infopath (provided you have Infopath installed on your system) It may ask you the crendentials for security. 5. The task form will open up in Infopath for
    editing. Click on the Reasign button and in the top left corner in the ribbon section is the field (Label) having text as "Reassign Task". Change this and then save and publish the form.Publish the workflow once again.

  • Workflow intiator changed when modify item

    I have SharePoint 2010 List customized using InfoPath and workflow running using Nintex WF 2010 ,  the form is two parts , one is edited by user and second part is visible and can be edited only by admin, the weird behavior I have and occurs
    randomly with no clear cause for it,  when user submitted the form and workflow is started the Initiator= User , but when form is open and edit the Initiator is changed to admin user , what can cause Initiator to be changed in workflow
    information , and does anyone got same issue before , its really frustrating.
    P.S: again the behavior does not happen for all items it happens randomly and I cannot repro right away
    BR
     

    Hi,
    Please see the below thread for Nintex workflow not working in case of system account.
    https://social.technet.microsoft.com/Forums/en-US/c48a0ec7-3731-4394-8921-ff6d64a02dca/nintex-workflow-not-getting-started-from-system-account
    Hope this helps you.
    Regards
    Soni K

  • Various Workflow Questions

    I'm new to workflow and I'm trying to figure out the best way to construct my app.
    First, what is the best method of generating the item key?
    Second, when creating a new process how are the attribute values set? CreateProcess doesn't have any method of doing this. Would I need to use SetItemAttr? How would it react if the item didn't yet exist (as createProcess would not have been called)?
    Third, what is the best practice for storing data? One could conceivably store the data in tables of their own and not use the attributes at all. They could also store it in both their own tables and the attributes (which seems redundant to me). They could also just use the attributes for storing data (as the examples in the Workflow guide seem to do).
    If I only store the data in the attributes, how would I go about presenting it to my users on various web pages?
    Perhaps the solution is to store the data in an initial table, load it into attributes during the first function, only access it in the attributes until a final decision is made, at which point the last function would take the data in the attributes and store it in the final table?
    Thanks,
    Tom

    1) Usually the item key is derived from the primary key of the application object being handled by the workflow. For example, in a requisition workflow, a good item key would be the requisition number. The item key does not have to be meaningful, though; from a workflow point of view the main point is that the item key and item type combination must be unique.
    2) Yes, SetItemAttr is the right way to set item attributes, and you're correct that CreateProcess must be called first. The best order in which to call the APIs is:
    CreateProcess
    SetItemUserKey
    SetItemOwner
    SetItemAttr...
    StartProcess
    CreateProcess and StartProcess are required; the Set... APIs are optional, if you want to set any of those values. If you do not need to set anything, you can call LaunchProcess instead, which combines CreateProcess and StartProcess in one wrapper; but note that LaunchProcess does not give you any opportunity to set any values in between creating and starting the process.
    3) Item attributes are basically meant to hold the information that the workflow process itself needs to use. There is a trade-off between the convenience of storing global process data in item type attributes and the overhead incurred by loading item type attributes when a process instance is created. So we recommend that you do not use item type attributes as a denormalized data store. Instead, always refer back to the base application to retrieve up-to-date values. Minimizing the number of item type attributes will improve the performance of your workflow process. Also, runtime workflow information is usually purged from the WF tables at some time after the process is complete, so any information that you want to access from your own application should be stored back in your own tables.
    We recommend that the following types of information should be defined as item type attributes:
    - Information required by notification messages, such as the display format of a currency value
    - Information required by function activities, such as values that link back to applications data like a person_ID
    - Information maintained by a workflow activity, such as data for activities that identify who to forward information to and from in a loop construct
    - Business event messages required by Send or Receive event activities, or event details required by Raise event activities

Maybe you are looking for

  • How Calculate more than one value and store it into to different rows and column for each input?

    thx guys.....i have a progress now in LV But now i have new trouble here. Ok i attached my LV file (LV 7.0.1/7.1) and excel form. I just could'nt calculate more than one input value. I want a different result for each value that i enter ... and store

  • IPhone locks up during update/sync

    I have synched my prior iPhone for several months so everything was set up fine, but it no longer will allow downloads. Last week, I tried to download the update for iPhone, and it locked up. When I disconnected, the iPhone was ruined, would only acc

  • Requisitioner as WF-BATCH in PO

    Hi all we are working in classic scenario (SRM 5.0). shopping carts created from catalogues are going to ECC 5.0 after approval and automatically create PO. Issue is once PO gets created, for 1st line item we are getting Tracking No as shopping cart

  • Printing House Bank details in an Invoice PLD

    Dear Experts, On the AR Invoice I would like to print out house bank information in DSC1, the information is there on DSC1 but how do you create a link to the information on DSC1 to the AR invoice to display only the specific row details ? Rgds Edite

  • Error 1079

    hp pavilion dv6000 notebook....32 bit operating system... no sound error 1079 no audio devices installed audio service not running took the computer to geek squad they said the only thing i could possibly do is to restore system to its original facto