A exception ID_NOT_CREATED in FM SWW_WI_START

Hi experts,
Before I change the Workflow by SWDD, the WF message can be created by FM SWW_WI_START; After I just add a new container, the WF message can't be created by FM SWW_WI_START. Can you tell me how to handle the exception ID_NOT_CREATED in FM SWW_WI_START? Do you have any idea about this scenario? Thanks much!
Thanks & Regards,
Kelvin
Moderator message: sorry wrong forum, please have a look in the forum for "SAP Business Workflow".
Edited by: Thomas Zloch on May 24, 2011 4:08 PM

hi jaideep,
kindly go thru this links.
This will help u alot.
Workflow
http://www.sap-img.com/workflow/sap-workflow.htm
http://help.sap.com/saphelp_47x200/helpdata/en/a5/172437130e0d09e10000009b38f839/frameset.htm
For examples on WorkFlow...check the below link..
http://help.sap.com/saphelp_47x200/helpdata/en/3d/6a9b3c874da309e10000000a114027/frameset.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PSWFL/PSWFL.pdf
http://help.sap.com/saphelp_47x200/helpdata/en/4a/dac507002f11d295340000e82dec10/frameset.htm
http://www.workflowing.com/id18.htm
http://www.e-workflow.org/
http://web.mit.edu/sapr3/dev/newdevstand.html
rgds
anver
if helped mark points

Similar Messages

  • Binding Structure/Internal Table to Workflow from Webdynpro

    Hi Gurus,
    I have to trigger workflow from WEBDYNPRO application. For now I have two ways they are:
    1. Triggering WFLow using SAP_WAPI_START_WORKFLOW (Successfull):
    How could I bind Structure/Internal Table (DDIC referred structure) to workflow directly. Presently I am mapping indvidual fields which makes my code complex using FM SAP_WAPI_START_WORKFLOW.
    2. Triggering WFLow using SAP_WAPI_CREATE_EVENT (Bindind issues):
    Also When I try to submit using BOR event with SAP_WAPI_CREATE_EVENT workflow triggers successfully But I cannot able to bind the values. So are there any specific configuration need to be made.( like making task as General while triggering workflow using SAP_WAPI_START_WORKFLOW).
    <<text removed>>
    Edited by: Matt on Aug 5, 2011 7:49 PM

    Hi
    Please make use of the below code
    INCLUDE cntn01_swc.
    DATA lt_kna1    TYPE TABLE OF kna1.
    DATA lt_cont    TYPE TABLE OF swcont.
    DATA lv_wiid    TYPE          sww_wiid.
    swc0_create_container  lt_cont.
    SELECT * FROM kna1 INTO TABLE  lt_kna1 UP TO 10 ROWS.
    swc0_set_table lt_cont 'CUST' lt_kna1.
    CALL FUNCTION 'SWW_WI_START'
      EXPORTING
        creator                      = sy-uname
        task                         = 'WSXXXXXXXX'
        do_commit                    = 'X'
      IMPORTING
        wi_id                        = lv_wiid
      TABLES
        wi_container                 = lt_cont
      EXCEPTIONS
        id_not_created               = 1
        read_failed                  = 2
        immediate_start_not_possible = 3
        execution_failed             = 4
        invalid_status               = 5
        OTHERS                       = 6.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    The other way to do is you  can also make use of OO ABAP classes to trigger the workflow. If you want to create a rfc function module then create a wrapper function module .
    SAP_WAPI_START_WORKFLOW cannot transfer structures or tables which are more thatn 255 characters. So the work around is  either make use of  OO  container or SWCONT container.
    The above code snippet should be included in the assistance class of the webdynpro application and you need to include the define the include cntn01_swc in the class local types  under macros.
    and then you create a method ....... and include the above code in that method.   excluding the include statement.
    Regards
    Pavan

  • Work flow Template

    Hi Experts,
              My scenario is I need to create an Process code based on Function module and when the process code triggers it will automatically fetch the work flow template.
    So what are the import, export parameters are need to call the WF template using Process code[Function Module].
    Thanks.

    for exampe, u can use this function:
    CALL FUNCTION 'SWW_WI_START'
                  EXPORTING
          CREATOR                            = sy-uname
          PRIORITY                           = '5'
          TASK                               = 'WS74508518'
        IMPORTING
          WI_ID                              = wi_id
        TABLES
          AGENTS                             = agents
          WI_CONTAINER                       = wi_container
       EXCEPTIONS
          ID_NOT_CREATED                     = 1
          READ_FAILED                        = 2
          IMMEDIATE_START_NOT_POSSIBLE       = 3
          EXECUTION_FAILED                   = 4
          INVALID_STATUS                     = 5
          OTHERS                             = 6
    where agents is internal table with agents like SWHACTOR (otype, objid)
    and wi_container is workflow container with pairs (element, value).
    U can fill it with macroses from include <CNTN01> (swc_set_element, SWC_SET_TABLE).
    U can use function's SAP_WAPI_START_WORKFLOW , SWW_WI_START_SIMPLE too, or start the event wich start WF (function SWE_EVENT_CREATE)

  • Regarding the change status of leave workflow.

    hi friends,
    i have copied the standard leave worklfow "WS12300111" and customized it just to meet our requirement means for multiple approvers.
    everything is working fine in production  means if user ID "AIHR01' raise a leave request the workitem will go to "AIHR02" after his approving the workitem will go to the final approver means "AIHR03" after his approval the leave request will be completed and the status in the TC - PTARQ is coming as "APPROVED" means only after the approving of "AIHR03" the status is coming "APPROVED" but in some cases when user id "AIHR02" is approved instead of coming status "SENT" it is coming "APPROVED"  in TC-PTARQ and because of this status the workitem is coming blank in UWL of "AIHR03".
    I have already incorporated the given below method in the "WORKFLOW" just to change the status from "APPROVED"  to "SENT" after the approval of user ID "AIHR02" but in some cases it is not working fine it is giving BUG.
    begin_method changestatus changing container.
    DATA:request TYPE ptreq_header-request_id,
              wi_id TYPE swwwihead-wi_id.
    DATA: request_instance TYPE REF TO if_pt_req_request,
               event   TYPE tim_req_xfer_event VALUE
               cl_pt_req_const=>c_reqtrans_send,
               ex_status TYPE tim_req_status,
               container_wi TYPE swcont OCCURS 0,
               agents TYPE STANDARD TABLE OF swhactor WITH HEADER LINE.
              swc_get_element container 'REQUEST' request.
              swc_get_element container 'Wi_id' wi_id.
    DO.
      CALL FUNCTION 'ENQUEUE_EPTREQ'
       EXPORTING
        MODE_PTREQ_HEADER       = 'S'
        MANDT                   = SY-MANDT
         request_id              = request
        X_REQUEST_ID            = ' '
        _SCOPE                  = '2'
        _WAIT                   = ' '
        _COLLECT                = ' '
       EXCEPTIONS
         foreign_lock            = 1
          system_failure          = 2
          OTHERS                  = 3
        IF sy-subrc = 0.
          EXIT.
        ENDIF.
        WAIT UP TO 60 SECONDS.
      ENDDO.
      IF sy-subrc = 0.
        CALL METHOD ca_pt_req_header=>agent->get_request
          EXPORTING
            im_request_id     = request
          IMPORTING
            ex_request        = request_instance
          EXCEPTIONS
            request_not_found = 1
            OTHERS            = 2.
        IF sy-subrc = 0.
          CALL METHOD request_instance->initiate_state_trans
            EXPORTING
              im_transfer_event = event
               im_external_call  = 'X'
       im_ret_value      = 0
                     ex_new_status     = ex_status
       ex_ret_code       =
          swc_set_element container 'Ex_Status' ex_status.
        ENDIF.
        CALL FUNCTION 'DEQUEUE_EPTREQ'
         EXPORTING
      MODE_PTREQ_HEADER       = 'S'
      MANDT                   = SY-MANDT
           request_id              = request
      X_REQUEST_ID            = ' '
      _SCOPE                  = '3'
      _SYNCHRON               = ' '
      _COLLECT                = ' '
      ENDIF.
      swc_create_container container_wi.
      swc_set_element container_wi 'WI_ID' wi_id.
      agents-otype = 'US'.
      agents-objid = sy-uname.
      APPEND agents.
      CALL FUNCTION 'SWW_WI_START_SIMPLE'
        EXPORTING
          task                         = 'TS90000089'
          called_in_background         = 'X'
        TABLES
          agents                       = agents
          wi_container                 = container_wi
        EXCEPTIONS
          id_not_created               = 1
          read_failed                  = 2
          immediate_start_not_possible = 3
          execution_failed             = 4
          invalid_status               = 5
          OTHERS                       = 6.
      end_method.
    Request you to plesase help me to solve this issue .why in some cases instead of coming status "SENT" it is coming "APPROVED"  after the approval of user id "AIHR02".
    BECAUSE of the  "APPROVED" staus the same workitem is coming blank in the UWL OF "AIHR03".

    solved by own

  • Content in .txt attachment

    Hello Everyone,
    I need to send some internal table data to the user decision as an attachment in TEXT format(.TXT). The attachment should consist of header, body (itab data in tab format) and a footer.
    Presently i am able to send the mail with attachment, but the data in the notepad is not coming in a correct format.The data has been messed up and randomly distributed....Could any one suggest me how to convert internal table data to text file format..
    Can anybody refer me some sample examples of it...
    Thanks in advance,
    Sangeeta

    Report ZFILE_APPSERVER is used to upload the file & to trigger the workflow. BO "ZFS1" is the customized business.
    Method "attachdoc" is created for attachment to workitem.
    REPORT  ZFILE_APPSERVER.
    *INCLUDE <CNTAIN>.
    INCLUDE <CNTN01>.
    DATA: BEGIN OF l_filedata OCCURS 0,
            text(200) TYPE c,
          END OF l_filedata.
    DATA: BEGIN OF l_readdata OCCURS 0,
            text(200)    TYPE c,
          END OF l_readdata.
    DATA: L_READDATA1 TYPE ZFILE_DATA1 with header line.
    DATA: BEGIN OF l_read_bin OCCURS 0,
            buffer type xstring,
          END OF l_read_bin.
    DATA: LENG TYPE I,
          ZVAR1 TYPE I VALUE 0.
    DATA:  v_filepath     type rlgrap-filename VALUE '/usr/iffsap/data/test/workflow/new.txt'.
    DATA myref    TYPE REF TO CX_SY_FILE_OPEN_MODE.
    DATA err_text TYPE string.
    DATA: OBJECT TYPE swc_object,
          OBJKEY TYPE SWR_STRUCT-OBJECT_KEY,
          IT_AGENTS TYPE SWHACTOR OCCURS 0,
          GV_INITIATOR LIKE SWWWIHEAD-WI_CREATOR.
    SWC_CONTAINER CONTAINER.             "Declaration
    SWC_CREATE_CONTAINER CONTAINER.      "Initialization
    SWC_CREATE_OBJECT OBJECT 'ZFBS1' 'ZUNAME'.
    DATA: BEGIN OF CONTAINER OCCURS 0.
         INCLUDE STRUCTURE SWCONT.
    DATA: END OF CONTAINER.
    SELECT-OPTIONS / PARAMETERS                                          *
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    PARAMETERS: p_file  LIKE rlgrap-filename
                        DEFAULT 'd:\data'.
    SELECTION-SCREEN END OF BLOCK blk1.
    AT SELECTION-SCREEN                                                  *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        CHANGING
          file_name = p_file.
    START-OF-SELECTION.
    Perform file_upload.
    try.
    OPEN DATASET V_FILEPATH FOR output IN TEXT MODE ENCODING DEFAULT.
    CATCH cx_sy_file_open_mode INTO myref.
          err_text = myref->get_text( ).
    ENDTRY.
    if sy-subrc = 0.
    Loop at l_filedata.
    TRANSFER L_FILEDATA TO V_FILEPATH.
    endloop.
    endif.
    CLOSE DATASET V_FILEPATH.
    if sy-subrc = 0.
    write: 'File uploaded successfully'.
    endif.
    OPEN DATASET V_FILEPATH FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    *OPEN DATASET V_FILEPATH FOR INPUT IN BINARY MODE.
    DO.
    READ DATASET V_FILEPATH INTO l_readdata LENGTH LENG.
      append l_readdata.
    ZVAR1 = ZVAR1 + LENG.
    WRITE: ZVAR1.
    IF SY-SUBRC <> 0.
    EXIT.
    ENDIF.
    ENDDO.
    CLOSE DATASET V_FILEPATH.
    IF SY-SUBRC = 0 AND NOT L_READDATA[] IS INITIAL.
    SWC_SET_TABLE CONTAINER 'L_READDATA' L_READDATA.
    SWC_SET_ELEMENT CONTAINER 'ZVAR1' ZVAR1.
    SWC_SET_ELEMENT CONTAINER 'ZFBS1' OBJECT.
    GV_INITIATOR = SY-UNAME.
    CALL FUNCTION 'SWW_WI_START_SIMPLE'
      EXPORTING
       CREATOR                             = GV_INITIATOR
      PRIORITY                           = SWFCO_NO_PRIO
        TASK                               = 'WS90600147'
       CALLED_IN_BACKGROUND                = 'X'
      DEADLINE_DATA                      = ' '
      NO_DEADLINE_PARAMETERS             = ' '
    IMPORTING
      WI_ID                              =
      WI_HEADER                          =
      RETURN                             =
      WI_RESULT                          =
      SWF_RETURN                         =
      TABLES
        AGENTS                             = IT_AGENTS
      DEADLINE_AGENTS                    =
      DESIRED_END_AGENTS                 =
      LATEST_START_AGENTS                =
      EXCLUDED_AGENTS                    =
      NOTIFICATION_AGENTS                =
      SECONDARY_METHODS                  =
       WI_CONTAINER                        = CONTAINER.
    CHANGING
      WI_CONTAINER_HANDLE                =
    EXCEPTIONS
      ID_NOT_CREATED                     = 1
      READ_FAILED                        = 2
      IMMEDIATE_START_NOT_POSSIBLE       = 3
      EXECUTION_FAILED                   = 4
      INVALID_STATUS                     = 5
      OTHERS                             = 6
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    COMMIT WORK.
    ENDIF.
    FORM file_upload .
      DATA: l_filename TYPE string.
      l_filename := p_file.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename                = l_filename
         has_field_separator     = ' '
         has_field_separator     = 'X'  "file is TAB delimited
        TABLES
          data_tab                = l_filedata.
       EXCEPTIONS
    ENDFORM.                    " file_upload
    BEGIN_METHOD ATTACHDOC CHANGING CONTAINER.
    DATA: L_READDATA TYPE ZFILE_DATA1 with header line,
          ZSWR_ATT_ID LIKE SWR_ATT_ID,
          ZSWR_ATT_HEADER TYPE SWR_ATT_HEADER,
          WORKITEMID LIKE SWR_STRUCT-WORKITEMID,
          ZXSTRING TYPE XSTRING,
          ZSTRING TYPE STRING,
          ZVAR1 TYPE I,
          ZLEN TYPE I,
          SOFM TYPE SWC_OBJECT.
    SWC_GET_TABLE CONTAINER 'L_READDATA' L_READDATA[].
    SWC_GET_ELEMENT CONTAINER 'WORKITEMID' WORKITEMID.
    SWC_GET_ELEMENT CONTAINER 'ZVAR1' ZVAR1.
    CALL FUNCTION 'SCMS_BINARY_TO_STRING'
      EXPORTING
        INPUT_LENGTH        = 9000
        FIRST_LINE          = 0
        LAST_LINE           = 6
      MIMETYPE            = ' '
      ENCODING            =
      IMPORTING
        TEXT_BUFFER         = ZSTRING
      OUTPUT_LENGTH       =
      TABLES
        BINARY_TAB          = l_readdata
    EXCEPTIONS
      FAILED              = 1
      OTHERS              = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBE
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3
    ENDIF.
    TO FILL THE HEARDER CONTENTS
    ZSWR_ATT_HEADER-FILE_TYPE = 'T'.
    ZSWR_ATT_HEADER-FILE_NAME = 'ACCRUAL'.
    ZSWR_ATT_HEADER-FILE_EXTENSION = 'EXC'.
    ZSWR_ATT_HEADER-LANGUAGE = 'EN'.
    CALL FUNCTION 'SAP_WAPI_ATTACHMENT_ADD'
      EXPORTING
        WORKITEM_ID          = WORKITEMID
        ATT_HEADER           = ZSWR_ATT_HEADER
       ATT_TXT              = ZSTRING
      ATT_BIN              = ZXSTRING
      DOCUMENT_OWNER       = SY-UNAME
      LANGUAGE             = SY-LANGU
      DO_COMMIT            = 'X'
      IMPORTING
      RETURN_CODE          =
        ATT_ID               = ZSWR_ATT_ID
    TABLES
      MESSAGE_LINES        =
      MESSAGE_STRUCT       =
    SWC_SET_ELEMENT CONTAINER 'ZSWR_ATT_ID' ZSWR_ATT_ID.
    SWC_SET_ELEMENT CONTAINER 'SOFM' ZSWR_ATT_ID-DOC_ID.
    END_METHOD.
    Thanks & Regards,
    Sangeeta
    Edited by: sangeeta tahiliani on Dec 1, 2009 1:27 PM

  • Stuck with an error, need help.

    Hi Gurus,
    I am calling the workflow throught the function module SWW_wi_start_simple, I am throwing with an exception 'read_failed' Can any one say why this error being stated.
    Secondly, I coded as below to start the work flow with the wf container. How can i use those conatiner variables in the workflow builder
    I coded as below now , now can i use these variables directly in workflow builder or do i need to create again in the workflow builder.
    Can any one say this please I am in need.
    code
    FUNCTION zhr_workflow_initiator.
    ""Local interface:
    *"  IMPORTING
    *"     REFERENCE(EMPLOYEENR) LIKE  PA0000-PERNR
    *"     REFERENCE(PLANNAME) LIKE  T5UCA-LTEXT
    *"     REFERENCE(DEPENDANCY) LIKE  T5UCF-LTEXT
    INCLUDE <cntn01>.
      DATA: wis_obj TYPE swc_object.
      DATA: task  LIKE  swwvpublic-wi_rh_task VALUE 'WS90000001',
            WI_ID LIKE  swwvpublic-wi_id.
      DATA: agents LIKE swhactor OCCURS 0 WITH HEADER LINE,
            wi_container LIKE swcont OCCURS 0 WITH HEADER LINE.
      DATA:BEGIN OF benadjreakey,
                pernr      LIKE  PA0001-PERNR,
               subty      like  p0378-subty,
               objps      like  p0378-objps,
               sprps      like  p0378-sprps,
               endda      like  p0378-endda,
               begda      like  p0378-begda,
               seqnr      like  p0378-seqnr,
            END OF benadjreakey.
    data: l_PLANNAME(30) TYPE c,
          l_DEPENDANCY(20)  TYPE c.
    data: BENEFIT_PLAN      like T5UCA-BPLAN,
          DEPENDACY_CODE    like T5UCF-DEPCV,
          COMPANY_CODE      like PA0001-BUKRS,
          PERSONAL_AREA     like PA0001-WERKS.
    "Initialize" NULL_AGENTS1
      CLEAR agents.
      REFRESH agents.
      MOVE employeenr  TO benadjreakey-pernr.
      move planname    to l_planname.
      move dependancy  to l_dependancy.
    **MOVE SUBTYPE        to BENADJREAKEY-subty.
    **MOVE LOCKINDICATOR  to BENADJREAKEY-sprps.
    **MOVE VALIDITYEND    to BENADJREAKEY-endda.
    **MOVE VALIDITYBEGIN    to BENADJREAKEY-begda.
    **MOVE RECORDNUMBER    to BENADJREAKEY-seqnr.
    CALL FUNCTION 'ZHR_BEN_WORFLOW_DATA'
    EXPORTING
       PLANNAME         = l_planname
       PERNR            = benadjreakey-pernr
       DEPENDANCY       = l_dependancy
    IMPORTING
       BENEFIT_PLAN         = benefit_plan
       DEPENDACY_CODE       = DEPENDACY_CODE
       COMPANY_CODE         = COMPANY_CODE
       PERSONAL_AREA        = PERSONAL_AREA
    Get object Referance
      swc_create_object wis_obj 'BENADJREAS' benadjreakey.
      swc_set_element wi_container 'benefit_plan_code'    BENEFIT_PLAN.
      swc_set_element wi_container 'Dependancy_code'      DEPENDACY_CODE.
      swc_set_element wi_container 'Company_code'         Company_code.
      swc_set_element wi_container 'PERSONAL_AREA'        PERSONAL_AREA.
    swc_set_element wi_container 'ADJUSTMENTREASON' wis_obj.
      swc_container_to_persistent wi_container.
      CALL FUNCTION 'SWW_WI_START_SIMPLE'
      EXPORTING
            task = task
      IMPORTING
            wi_id = wi_id
      TABLES
          AGENTS = AGENTS
          wi_container = wi_container
      EXCEPTIONS
            id_not_created = 1
            read_failed = 2
            execution_failed = 3.
    MOVE wi_id    TO workitem_id.
      IF sy-subrc <> 0.
        WRITE / 'NO_workflow_started'.
      ENDIF.
    ENDFUNCTION.
    Ravi

    Hi Ravi,
    You were able to program the function module but you are not able to find out why the exception is raised? This sounds a bit strange to me, or do you want us to give an answer in stead of searching for one yourself?
    If you didn't create these container elements in the workflow you can't use them, and it could even be that that is why your exception is raised. By putting them in a container which is used when starting the workflow, they will not be automatically created in your workflow.
    And to be more up to date use FM SAP_WAPI_START_WORKFLOW as Arghadip suggested.
    Regards,
    Martin

  • Workflow: XML Container not updated

    Hallo Gurus!
    I am starting a new workflow with SWW_WI_START_SIMPLE. After that i change some container values with following code:
    *Workflow starten
      CALL FUNCTION 'SWW_WI_START_SIMPLE'
        EXPORTING
    *   CREATOR                            = ' '
    *   PRIORITY                           = SWFCO_NO_PRIO
          task                               = wa_ess_prozess-prozess_task
    *   CALLED_IN_BACKGROUND               = ' '
    *   DEADLINE_DATA                      = ' '
    *   NO_DEADLINE_PARAMETERS             = ' '
      IMPORTING
    *   WI_ID                              =
    *   WI_HEADER                          =
    *   RETURN                             =
    *   WI_RESULT                          =
        swf_return                         = lwa_swf_return
        TABLES
          agents                             = it_swhactor
    *   DEADLINE_AGENTS                    =
    *   DESIRED_END_AGENTS                 =
    *   LATEST_START_AGENTS                =
    *   EXCLUDED_AGENTS                    =
    *   NOTIFICATION_AGENTS                =
    *   SECONDARY_METHODS                  =
    *    wi_container                       = i_event_cont
    CHANGING
       wi_container_handle                =  lc_container
      EXCEPTIONS
       id_not_created                     = 1
       read_failed                        = 2
       immediate_start_not_possible       = 3
       execution_failed                   = 4
       invalid_status                     = 5
       OTHERS                             = 6
      TRY.
          CALL METHOD lc_container->if_swf_cnt_element_access_1~element_set_value "if_swf_ifs_parameter_container~set
            EXPORTING
              name       = 'Vorgesetzter'
              qname      = 'Vorgesetzter'
              value      =  m_vorg
    *                  unit       =
    *                IMPORTING
    *                  returncode =
        CATCH cx_swf_cnt_cont_access_denied .
        CATCH cx_swf_cnt_elem_access_denied .
        CATCH cx_swf_cnt_elem_not_found .
        CATCH cx_swf_cnt_elem_type_conflict .
        CATCH cx_swf_cnt_unit_type_conflict .
        CATCH cx_swf_cnt_elem_def_invalid .
        CATCH cx_swf_cnt_container .
      ENDTRY.
    COMMIT WORK.
    No excpetions are raised, but the container is not updated! Did i make something wrong?
    Please help!
    Thanks in advance.
    Alex

    Hallo Mike.
    I think i should explain my requirements in more detail. I'm working on different Employee Self Service Scenarios. The User Interface is a Webdynpro which can be called form the Portal. In Background a Workflow is trigger and all following steps can be executed through the UWL.
    For each Scenario it is possible to enter different date by the user. As the data is used in the workfow i would like to set it into the container by an generic Function Module for all scenarios. Each Process has a unique name and i made a table where the related information (Workflow task...) is stored.
    But i think I already found a solution:
    CREATE OBJECT cnt TYPE  cl_swf_cnt_container .
      TRY.
          CALL METHOD cnt->if_swf_cnt_element_access_1~element_set_value
            EXPORTING
              name  = 'Vorgesetzter'
              value = m_vorg.
    *    unit       =
    *  IMPORTING
    *    returncode =
          CALL METHOD cnt->if_swf_cnt_element_access_1~element_set_value
            EXPORTING
              name  = 'Prozessdaten'
              value = <wa_proc_struc>.
    *    unit       =
    *  IMPORTING
    *    returncode =
          CALL METHOD cnt->if_swf_cnt_element_access_1~element_set_value
            EXPORTING
              name  = 'ESS_KEY'
              value = lwa_ess_key.
    *    unit       =
    *  IMPORTING
    *    returncode =
          CALL METHOD cnt->if_swf_cnt_element_access_1~element_set_value
            EXPORTING
              name  = 'PROCESS_NAME'
              value = i_ess_process.
    *    unit       =
    *  IMPORTING
    *    returncode =
        CATCH cx_root .
      ENDTRY.
      CALL METHOD cl_swf_ifs_conversion_base=>to_ifs_xml
        EXPORTING
          source_container    = cnt
          import_param        = 'X'
          export_param        = 'X'
          local_elements      = 'X'
          no_system_elements  = ' '
          no_initial_elements = ' '
    *      id                  = l_key-task
        IMPORTING
          ifs_xml_stream      = ifs_xml_container
          error_handle        = lv_excp.
      IF lv_excp IS NOT INITIAL.
        CALL METHOD lv_excp->if_message~get_text
          RECEIVING
            result = lwa_swf_return-message.
        e_return-type = 'E'.
        e_return-id   = 'ZESS'.
        e_return-number = lwa_swf_return-message.
        e_return-message  = lwa_swf_return-text.
        e_rc = 1.
        ROLLBACK WORK.
        EXIT.
      ENDIF.
    *Workflow starten
      CALL FUNCTION 'SAP_WAPI_START_WORKFLOW'
        EXPORTING
          task                      = lwa_ess_prozess-prozess_task
    *   LANGUAGE                  = SY-LANGU
          do_commit                 = ''
    *   USER                      = SY-UNAME
    *   START_ASYNCHRONOUS        = ' '
    *   DESIRED_START_DATE        =
    *   DESIRED_START_TIME        =
    *   DESIRED_START_ZONLO       = SY-ZONLO
         ifs_xml_container         = ifs_xml_container
    IMPORTING
       return_code               = l_subrc
    *   WORKITEM_ID               =
    *   NEW_STATUS                =
    TABLES
    *       input_container           = i_event_cont
       message_lines             = lit_messag
       message_struct            = lit_messstruc
       agents                    = it_swhactor
    With this technique i am now able to set dynamic structures (e.g. <wa_proc_struc>) to the Container.
    Thanks.
    Alex

  • EDI Inbound ( need code sample )

    Hi Guus,
          I have an object to develop , its and EDI inbound interface . Can some one send me sample code or atleast guide me from where I can start.
    Regards
    Avi.......

    Hi ,
    plz go through the below code..
    FUNCTION zsd_idoc_input_order_change.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(INPUT_METHOD) LIKE  BDWFAP_PAR-INPUTMETHD
    *"     VALUE(MASS_PROCESSING) LIKE  BDWFAP_PAR-MASS_PROC
    *"  EXPORTING
    *"     REFERENCE(WORKFLOW_RESULT) LIKE  BDWFAP_PAR-RESULT
    *"     REFERENCE(APPLICATION_VARIABLE) LIKE  BDWFAP_PAR-APPL_VAR
    *"     REFERENCE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK
    *"     REFERENCE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS
    *"  TABLES
    *"      IDOC_CONTRL STRUCTURE  EDIDC
    *"      IDOC_DATA STRUCTURE  EDIDD
    *"      IDOC_STATUS STRUCTURE  BDIDOCSTAT
    *"      RETURN_VARIABLES STRUCTURE  BDWFRETVAR
    *"      SERIALIZATION_INFO STRUCTURE  BDI_SER
    *"  EXCEPTIONS
    *"      WRONG_FUNCTION_CALLED
    Work areas for the idoc tables.
      DATA: wa_data    TYPE edidd.
      status = '53'. "initial
    Read the control data information of idoc.
      READ TABLE idoc_contrl INTO gwa_control WITH KEY mestyp = 'ZORDRPLY'.
      IF sy-subrc EQ 0.
    Extract the data from the segments.
        LOOP AT idoc_data INTO wa_data             "LOOP AT idoc_data
        WHERE docnum = idoc_contrl-docnum.
          CASE wa_data-segnam.                     " CASE gwa_data-segnam
            WHEN 'Z1SCSK'.                          "Header data
              MOVE wa_data-sdata TO gwa_z1scsk.
              CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                EXPORTING
                  input  = gwa_z1scsk
                IMPORTING
                  output = gv_vbeln.
            WHEN 'Z1SCSP'.                          "Item data
              MOVE wa_data-sdata TO gwa_z1scsp.
              CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                EXPORTING
                  input  = gwa_z1scsp-posnr
                IMPORTING
                  output = gv_posnr.
              gwa_z1scsp-posnr = gv_posnr.
              APPEND gwa_z1scsp TO i_z1scsp.
          ENDCASE.                                 " CASE gwa_data-segnam
        ENDLOOP.                                     "LOOP AT idoc_data
    Update the sales order
        PERFORM order_change.
      ELSE.
    Begin of Mod-001
        status = '51'.
        bapi_retn_info-type       = 'E'.
        bapi_retn_info-id         = 'ZSDM'.
        bapi_retn_info-number     = '028'.
        bapi_retn_info-message_v1 =  'Wrong'.
        bapi_retn_info-message_v2 =  'Message'.
        bapi_retn_info-message_v3 =  'Type'.
       RAISE wrong_function_called.
      ENDIF.                                            " IF sy-subrc EQ 0
    *Start wf
      PERFORM wf_start
                 USING
                        idoc_contrl-docnum
                        gv_vbeln
                       CHANGING
                         bapi_retn_info.
    *end of starting of wf
    *set status
      IF status = '53'.
        bapi_retn_info-type       = 'S'.
        bapi_retn_info-id         = 'ZSDM'.
        bapi_retn_info-number     = '028'.
        bapi_retn_info-message_v1 =  gv_vbeln.
        bapi_retn_info-message_v2 =  'Changed.'.
        bapi_retn_info-message_v3 = 'Succcessfully'.
      ENDIF.
      PERFORM idoc_status_ord_change
              TABLES idoc_data
                     idoc_status
                     return_variables
               USING idoc_contrl
                     bapi_retn_info
                     status
                     workflow_result.
    End of Mod-001
    ENDFUNCTION.
    FORM idoc_status_ord_change
         TABLES idoc_data    STRUCTURE  edidd
                idoc_status  STRUCTURE  bdidocstat
                r_variables  STRUCTURE  bdwfretvar
          USING idoc_contrl  LIKE  edidc
                value(retn_info) LIKE   bapiret2
                status       LIKE  bdidocstat-status
                wf_result    LIKE  bdwf_param-result.
      CLEAR idoc_status.
      idoc_status-docnum   = idoc_contrl-docnum.
      idoc_status-msgty    = retn_info-type.
      idoc_status-msgid    = retn_info-id.
      idoc_status-msgno    = retn_info-number.
      idoc_status-appl_log = retn_info-log_no.
      idoc_status-msgv1    = retn_info-message_v1.
      idoc_status-msgv2    = retn_info-message_v2.
      idoc_status-msgv3    = retn_info-message_v3.
      idoc_status-msgv4    = retn_info-message_v4.
      idoc_status-repid    = sy-repid.
      idoc_status-status   = status.
      APPEND idoc_status.
      IF idoc_status-status = '51'.
        wf_result = '99999'.
        r_variables-wf_param   = 'Error_IDOCs'.
        r_variables-doc_number = idoc_contrl-docnum.
        READ TABLE r_variables FROM r_variables.
        IF sy-subrc <> 0.
          APPEND r_variables.
        ENDIF.
      ELSEIF idoc_status-status = '53'.
        CLEAR wf_result.
        r_variables-wf_param = 'Processed_IDOCs'.
        r_variables-doc_number = idoc_contrl-docnum.
        READ TABLE r_variables FROM r_variables.
        IF sy-subrc <> 0.
          APPEND r_variables.
        ENDIF.
      ENDIF.
    ENDFORM.                    "idoc_status_ord_change
    ***INCLUDE LZSD_FS007_ORDERCHANGEF01 .
    *&      Form  order_change
          This Form is used for updating the DB tables(vbap,vbep)        *
    FORM order_change .
    Declaration of internal tables.
      DATA : i_vbap TYPE STANDARD TABLE OF vbap,
             i_vbep TYPE STANDARD TABLE OF vbep.
    Declaration of workareas.
      DATA : wa_vbap TYPE vbap,
             wa_vbep TYPE vbep.
    Declaration of constants.
      CONSTANTS : lc_sno(3)     TYPE c VALUE '039',
                  lc_ino(3)     TYPE c VALUE '040',
                  lc_msg(4)     TYPE c VALUE 'ZSD',
                  lc_emsgty(1)  TYPE c VALUE  'E',
                  lc_smsgty(1)  TYPE c VALUE  'S',
                  lc_estatus(2) TYPE c VALUE  '51',
                  lc_sstatus(2) TYPE c VALUE  '53'.
    Declaration of variable.
      DATA : lv_index TYPE syindex,
             lv_zzproddt TYPE sydatum.
    Fetch the data from vbap
      SELECT * FROM vbap INTO TABLE i_vbap
      WHERE vbeln EQ gv_vbeln.
      IF NOT i_vbap IS INITIAL.
    Fetch the data from vbep
        SELECT * FROM vbep INTO TABLE i_vbep
          FOR ALL ENTRIES IN i_vbap
          WHERE vbeln EQ i_vbap-vbeln
          AND posnr EQ i_vbap-posnr.
    Modify production option date (zzproopdt) of i_vbap
    and production date(zzproddt) & original production date(zzoprodt)
    of i_vbep with the data sent by SCS.
        lv_index = 1.
        LOOP AT i_z1scsp INTO gwa_z1scsp.
          LOOP AT i_vbap INTO wa_vbap WHERE posnr = gwa_z1scsp-posnr.
            IF sy-subrc EQ 0 .
      Copies the date value in gwa_z1scsp-zzproopdt to wa_vbap-zzproopdt,
      if valid date is there in gwa_z1scsp-zzproopdt
              PERFORM validate_date USING gwa_z1scsp-zzproopdt
                                          wa_vbap-zzproopdt.
              IF NOT wa_vbap-zzproopdt IS INITIAL.
                MODIFY i_vbap FROM wa_vbap TRANSPORTING zzproopdt.
              ENDIF.
      Copies the date value in gwa_z1scsp-zzproddt to lv_zzproddt,
      if valid date is there in gwa_z1scsp-zzproddt
              PERFORM validate_date USING gwa_z1scsp-zzproddt
                                          lv_zzproddt.
      If gwa_z1scsp-zzproddt is not initial then only update in VBEP.
              IF NOT lv_zzproddt IS INITIAL.
                LOOP AT i_vbep INTO wa_vbep FROM lv_index.
                  IF wa_vbep-posnr GT wa_vbap-posnr.
                    lv_index = sy-tabix.
                    EXIT.
                  ELSEIF wa_vbep-posnr EQ wa_vbap-posnr.
                    wa_vbep-zzproddt = lv_zzproddt.
             Update Original Production date only when its initial.
                    IF wa_vbep-zzoprodt IS INITIAL.
                      wa_vbep-zzoprodt = wa_vbep-zzproddt.
                    ENDIF.
                    MODIFY i_vbep FROM wa_vbep TRANSPORTING zzproddt zzoprodt.
                  ENDIF.
                  CLEAR wa_vbep.
                ENDLOOP.
              ENDIF.
            ELSE.
    Begin of Mod-001
              status =  lc_estatus.
              bapi_retn_info-type       = lc_emsgty.
              bapi_retn_info-id         = lc_msg.
              bapi_retn_info-number     = lc_ino.
              bapi_retn_info-message_v1 =  gwa_z1scsp-posnr.
            ENDIF.
          ENDLOOP.
           IF sy-subrc EQ 4.
            status =  lc_estatus.
            bapi_retn_info-type       = lc_emsgty.
            bapi_retn_info-id         = lc_msg.
            bapi_retn_info-number     = lc_ino.
            bapi_retn_info-message_v1 =  gwa_z1scsp-posnr.
          ENDIF.
          CLEAR: wa_vbap, gwa_z1scsp.
        ENDLOOP.
      ELSE.
        status =  lc_estatus.
        bapi_retn_info-type       = lc_emsgty.
        bapi_retn_info-id         = lc_msg.
        bapi_retn_info-number     = lc_sno.
        bapi_retn_info-message_v1 =  gv_vbeln.
        EXIT.
    End of Mod-001
      ENDIF.
    Update the DB tables
        UPDATE vbap FROM TABLE i_vbap.
        UPDATE vbep FROM TABLE i_vbep.
    ENDFORM.                    " order_change
    *&      Form  VALIDATE_DATE
    Converts the date into DATS format and check if it is valid,
    if valid returns date in p_date_dats else clear it.
         -->p_date_c8    Date in Char format send by SCS
         -->p_date_dats  Date in DATS format.
    FORM validate_date  USING    p_date_c8 TYPE char8
                                 p_date_dats TYPE dats.
      CLEAR p_date_dats.
      p_date_dats = p_date_c8.
      CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY'
        EXPORTING
          date                      = p_date_dats
        EXCEPTIONS
          plausibility_check_failed = 1
          OTHERS                    = 2.
      check sy-subrc NE 0.
        CLEAR p_date_dats.
    ENDFORM.                    " VALIDATE_DATE
    *&      Form  wf_start
          text
         -->P_IDOC_CONTROL_DOCNUM  text
         -->P_GV_VBELN  text
         <--P_BAPI_RETN_INFO  text
    FORM wf_start  USING    p_idoc_control_docnum
                            p_gv_vbeln
                   CHANGING p_bapi_retn_info TYPE bapiret2.
      INCLUDE <cntn01>.
      DATA: agents  LIKE swhactor OCCURS 1 WITH HEADER LINE,
            process_type TYPE char1,
            idoc_no TYPE edidc-docnum,
            creator LIKE swwwihead-wi_creator.
      swc_container wi_container.
      swc_create_container wi_container.
      swc_set_element wi_container 'Document_no' p_gv_vbeln.
      swc_set_element wi_container 'Process_type' '1'.
      swc_set_element wi_container 'Idoc_no' p_idoc_control_docnum.
      CALL FUNCTION 'SWW_WI_START_SIMPLE'
        EXPORTING
          creator                      = creator
          task                         = 'WS90200019'
        TABLES
          agents                       = agents
          wi_container                 = wi_container
        EXCEPTIONS
          id_not_created               = 1
          read_failed                  = 2
          immediate_start_not_possible = 3
          execution_failed             = 4
          invalid_status               = 5
          OTHERS                       = 6.
      IF sy-subrc <> 0.
        p_bapi_retn_info-type   = 'E'.
        p_bapi_retn_info-id = sy-msgid.
        p_bapi_retn_info-number = sy-msgno.
        p_bapi_retn_info-message_v1 = sy-msgv1.
        p_bapi_retn_info-message_v2 = sy-msgv2.
        p_bapi_retn_info-message_v3 = sy-msgv3.
        p_bapi_retn_info-message_v4 = sy-msgv4.
      ENDIF.
    ENDFORM.                    " wf_start..
    The idoc configurations for customized idoc (inbound) are..
    1>WE81
    2>WE31
    3>WE30
    4>BD51(Attach ur zfunction mdoule)
    5>WE57(Attach ur zfunction mdoule to message type and basic type)
    6>we42
    7>WE20...
    Regards,
    nagaraj

  • Workflow for attachment

    i want to trigger the workflow from adobe form  for that i have written this code
    CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
        EXPORTING
          BUFFER                = LV_XSTRING
      APPEND_TO_TABLE       = ' '
        IMPORTING
         OUTPUT_LENGTH         = LV_LENGTH
        TABLES
          BINARY_TAB            = LT_BINARY_TAB.
      SWC_SET_TABLE LT_CONTAINER 'IT_SOLIX_TAB'  LT_BINARY_TAB.
      SWC_SET_ELEMENT LT_CONTAINER 'LENGTH' LV_LENGTH.
      CALL FUNCTION 'SWW_WI_START_SIMPLE'
        EXPORTING
        CREATOR                            = LV_CREATOR
      PRIORITY                           = SWFCO_NO_PRIO
         TASK                               = 'WS90000301'
      CALLED_IN_BACKGROUND               = ' '
      DEADLINE_DATA                      = ' '
      NO_DEADLINE_PARAMETERS             = ' '
    IMPORTING
      WI_ID                              =
      WI_HEADER                          =
      RETURN                             =
      WI_RESULT                          =
      SWF_RETURN                         =
        TABLES
          AGENTS                             = LTAGENTS
      DEADLINE_AGENTS                    =
      DESIRED_END_AGENTS                 =
      LATEST_START_AGENTS                =
      EXCLUDED_AGENTS                    =
      NOTIFICATION_AGENTS                =
      SECONDARY_METHODS                  =
       WI_CONTAINER                       =  LT_CONTAINER
    CHANGING
      WI_CONTAINER_HANDLE                =
    EXCEPTIONS
       ID_NOT_CREATED                     = 1
       READ_FAILED                        = 2
       IMMEDIATE_START_NOT_POSSIBLE       = 3
       EXECUTION_FAILED                   = 4
       INVALID_STATUS                     = 5
       OTHERS                             = 6
    the problem is i have created container elements of same structure in workflow . it is showing error sy-subrc=1,  if i dont create any container elements (error free) in workflow log it is showing container elements with values.. i want to bind these container elements to task to method to get the attachment
    please any one suggest me wt could be the problem

    Hello,
    Could you re-state exactly what you problem is, I'm having trouble understanding:
    " if i dont create any container elements (error free) in workflow log it is showing container elements with values"   ???
    Try doing it from straight SAP (ie not from Adobe) and see if the problem persists.
    And by the way, you should use SAP_WAPI function modules if you can, and creating events is preferable to starting workflows directly.
    regards
    Rick Bakker
    Hanabi Technology

  • Triggering workflow programatically

    I want to trigger workflow programatically by using sap_wapi_workflow_start fn module  i have given task no : ws99900015 like this  in workflow template -start events tab is there any need to mention any thing
    any one please suggest me

    Hi TCS Team,
                          Better use start simple Function Module this one will we very simple and you can also pass values in to the container.
    As in this example the passing container is wi_container the same container will be created in Workflow template.
    *& Report  ZTESTPDS01
    REPORT  ztestpds01.
    INCLUDE <cntn01>.
    SWC_CONTAINER WI_CONTAINER.
    SWC_CREATE_CONTAINER WI_CONTAINER.
    data: AGENTS  LIKE SWHACTOR OCCURS 0 WITH HEADER LINE,
          v_kunnr like kna1-kunnr.
    DATA: WA_KNA1R LIKE KNA1.
    DATA: it_kna1 LIKE table of wa_kna1r with header line.
    v_kunnr = '0000000001'.
    select * from kna1
             into table it_kna1
             where kunnr = v_kunnr.
    LOOP AT IT_KNA1.
    MOVE IT_KNA1 TO WA_KNA1R.
    ENDLOOP.
    SWC_SET_ELEMENT WI_CONTAINER 'testPDS' WA_KNA1R.
    SWC_CONTAINER_TO_PERSISTENT WI_CONTAINER.
    CALL FUNCTION 'SWW_WI_START_SIMPLE'
      EXPORTING
       CREATOR                            = 'DHEEPAKS'
      PRIORITY                           = SWFCO_NO_PRIO
        task                               = 'WS99900015'
      CALLED_IN_BACKGROUND               = ' '
      DEADLINE_DATA                      = ' '
      NO_DEADLINE_PARAMETERS             = ' '
    IMPORTING
      WI_ID                              =
      WI_HEADER                          =
      RETURN                             =
      WI_RESULT                          =
      SWF_RETURN                         =
      tables
        agents                             = agents
      DEADLINE_AGENTS                    =
      DESIRED_END_AGENTS                 =
      LATEST_START_AGENTS                =
      EXCLUDED_AGENTS                    =
      NOTIFICATION_AGENTS                =
      SECONDARY_METHODS                  =
       WI_CONTAINER                       = wi_container.
    CHANGING
      WI_CONTAINER_HANDLE                =
    EXCEPTIONS
      ID_NOT_CREATED                     = 1
      READ_FAILED                        = 2
      IMMEDIATE_START_NOT_POSSIBLE       = 3
      EXECUTION_FAILED                   = 4
      INVALID_STATUS                     = 5
      OTHERS                             = 6
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *ENDIF.
    Regards,
    dheepak

  • Start a Workflow in User-Exit RGGBS000

    How can I start a Workflow into the User Exit RGGBS000 for FI module?
    Regards,
    Ricardo

    I tried this FM, it isn´t starting.
    See:
    CALL FUNCTION 'SWW_WI_START_SIMPLE'
      EXPORTING
       CREATOR                            = 'ricardov'
       PRIORITY                           = '5'
        task                               = 'TS99900005'
      CALLED_IN_BACKGROUND               = ' '
      DEADLINE_DATA                      = ' '
      NO_DEADLINE_PARAMETERS             = ' '
    IMPORTING
      WI_ID                              = WI_ID
      WI_HEADER                          = WI_HEADER
      RETURN                             = RETURN
      WI_RESULT                          = WI_RESULT
      SWF_RETURN                         = SWF_RETURN
      TABLES
        agents                             = agents
      DEADLINE_AGENTS                    = DEADLINE_AGENTS
      DESIRED_END_AGENTS                 = DESIRED_END_AGENTS
      LATEST_START_AGENTS                = LATEST_START_AGENTS
      EXCLUDED_AGENTS                    = EXCLUDED_AGENTS
      NOTIFICATION_AGENTS                = NOTIFICATION_AGENTS
      SECONDARY_METHODS                  = SECONDARY_METHODS
      WI_CONTAINER                       = WI_CONTAINER
    CHANGING
      WI_CONTAINER_HANDLE                = WI_CONTAINER_HANDLE
    EXCEPTIONS
      ID_NOT_CREATED                     = 1
      READ_FAILED                        = 2
      IMMEDIATE_START_NOT_POSSIBLE       = 3
      EXECUTION_FAILED                   = 4
      INVALID_STATUS                     = 5
      OTHERS                             = 6
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Is there something more to put???
    Thanks
    Ricardo

  • Workflow name

    These are the few lines from the code .
    From this can we come to know about the name of workflow.
    swc_create_object objid 'TRDIR' 'ZHRRTM01'.
    swc_set_element i_container '_WI_OBJECT_ID' objid.
    CALL FUNCTION 'SWW_WI_CREATE_SIMPLE'
    EXPORTING
    task = 'TS90000007'
    TABLES
    agents = i_agents
    wi_container = i_container
    EXCEPTIONS
    id_not_created = 1
    read_failed = 2
    OTHERS = 3.

    Hi Abhimanyu,
    This code will create a workitem (instance if you like) of the Standard Task TS9000007.  It is a single step workflow, if you like.
    To see the task details (It is a custom task from your system by the look of the number), go to transaction PFTC, enter the task type of Standard Task and the number 90000007 and press display.  This will show you the task definition including the name.
    Regards
    Gareth

  • If image file not exist in image path crystal report not open and give me exception error problem

    Hi guys my code below show pictures for all employees
    code is working but i have proplem
    if image not exist in path
    crystal report not open and give me exception error image file not exist in path
    although the employee no found in database but if image not exist in path when loop crystal report will not open
    how to ignore image files not exist in path and open report this is actually what i need
    my code below as following
    DataTable dt = new DataTable();
    string connString = "data source=192.168.1.105; initial catalog=hrdata;uid=sa; password=1234";
    using (SqlConnection con = new SqlConnection(connString))
    con.Open();
    SqlCommand cmd = new SqlCommand("ViewEmployeeNoRall", con);
    cmd.CommandType = CommandType.StoredProcedure;
    SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = cmd;
    da.Fill(dt);
    foreach (DataRow dr in dt.Rows)
    FileStream fs = null;
    fs = new FileStream("\\\\192.168.1.105\\Personal Pictures\\" + dr[0] + ".jpg", FileMode.Open);
    BinaryReader br = new BinaryReader(fs);
    byte[] imgbyte = new byte[fs.Length + 1];
    imgbyte = br.ReadBytes(Convert.ToInt32((fs.Length)));
    dr["Image"] = imgbyte;
    fs.Dispose();
    ReportDocument objRpt = new Reports.CrystalReportData2();
    objRpt.SetDataSource(dt);
    crystalReportViewer1.ReportSource = objRpt;
    crystalReportViewer1.Refresh();
    and exception error as below

    First: I created a New Column ("Image") in a datatable of the dataset and change the DataType to System.Byte()
    Second : Drag And drop this image Filed Where I want.
    private void LoadReport()
    frmCheckWeigher rpt = new frmCheckWeigher();
    CryRe_DailyBatch report = new CryRe_DailyBatch();
    DataSet1TableAdapters.DataTable_DailyBatch1TableAdapter ta = new CheckWeigherReportViewer.DataSet1TableAdapters.DataTable_DailyBatch1TableAdapter();
    DataSet1.DataTable_DailyBatch1DataTable table = ta.GetData(clsLogs.strStartDate_rpt, clsLogs.strBatchno_Rpt, clsLogs.cmdeviceid); // Data from Database
    DataTable dt = GetImageRow(table, "Footer.Jpg");
    report.SetDataSource(dt);
    crv1.ReportSource = report;
    crv1.Refresh();
    By this Function I merge My Image data into dataTable
    private DataTable GetImageRow(DataTable dt, string ImageName)
    try
    FileStream fs;
    BinaryReader br;
    if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + ImageName))
    fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + ImageName, FileMode.Open);
    else
    // if photo does not exist show the nophoto.jpg file
    fs = new FileStream(AppDomain.CurrentDomain.BaseDirectory + ImageName, FileMode.Open);
    // initialise the binary reader from file streamobject
    br = new BinaryReader(fs);
    // define the byte array of filelength
    byte[] imgbyte = new byte[fs.Length + 1];
    // read the bytes from the binary reader
    imgbyte = br.ReadBytes(Convert.ToInt32((fs.Length)));
    dt.Rows[0]["Image"] = imgbyte;
    br.Close();
    // close the binary reader
    fs.Close();
    // close the file stream
    catch (Exception ex)
    // error handling
    MessageBox.Show("Missing " + ImageName + "or nophoto.jpg in application folder");
    return dt;
    // Return Datatable After Image Row Insertion
    Mark as answer or vote as helpful if you find it useful | Ammar Zaied [MCP]

  • SR Log Error - |  Message  : com.sap.esi.uddi.sr.api.exceptions.SRException

    Hi,
    We are getting below errors in /nwa/logs. We have our PI (7.11) and Service Registry configured on the same server. And have out CE (7.2) system connected to this service registry. Does any one has similar experience? Please let me know if you have any solution for the same.
    SR Log Error
    |  11-Nov-11  14:10:45.568
    |  Method   : getClassificationSystems()
    |  Class    : com.sap.esi.uddi.sr.api.ws.ServicesRegistrySiImplBean
    |  ThreadID : 146
    |  Message  : com.sap.esi.uddi.sr.api.exceptions.SRException: No classification system found for ID 'QName: Namespace= http://uddi.sap.com/classification; Name=  ConfigurationFlags'
    |
    |       com.sap.esi.uddi.sr.impl.common.Utility.cs2srException(Utility.java:122)
    |       com.sap.esi.uddi.sr.impl.ejb.ServicesRegistryBean.getClassificationSystems(ServicesRegistryBean.java:242)
    |       sun.reflect.GeneratedMethodAccessor1325.invoke(Unknown Source)
    |       sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    |       java.lang.reflect.Method.invoke(Method.java:585)
    |       com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
    |       com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
    |       $Proxy1087.getClassificationSystems(Unknown Source)
    |       com.sap.esi.uddi.sr.api.ws.ServicesRegistrySiImplBean.getClassificationSystems(ServicesRegistrySiImplBean.java:456)
    |       sun.reflect.GeneratedMethodAccessor1324.invoke(Unknown Source)
    |       sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    |       java.lang.reflect.Method.invoke(Method.java:585)
    |       com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_WS.invoke(Interceptors_WS.java:31)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16)
    |       com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    |       com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133)
    |       com.sap.engine.services.ejb3.webservice.impl.DefaultImplementationContainer.invokeMethod(DefaultImplementationContainer.java:203)
    |       com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process0(RuntimeProcessingEnvironment.java:512)
    |       com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessingEnvironment.java:486)
    |       com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingEnvironment.java:256)
    |       com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWOLogging(ServletDispatcherImpl.java:176)
    |       com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWithLogging(ServletDispatcherImpl.java:112)
    |       com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:70)
    |       SoapServlet.doPost(SoapServlet.java:51)
    |       javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    |       javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    |       com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:140)
    |       com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:37)
    |       com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:486)
    |       com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:298)
    |       com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:396)
    |       com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:385)
    |       com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:48)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:84)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:245)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:78)
    |       com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)
    |       com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)
    |       com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)
    |       com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:43)
    |       com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)
    |       com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    |       com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    |       com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:428)
    |       com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:247)
    |       com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:45)
    |       com.sap.engine.core.thread.execution.Executable.run(Executable.java:115)
    |       com.sap.engine.core.thread.execution.Executable.run(Executable.java:96)
    |       com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:314)
    |

    Hi,
    Refer Error:Service Registyr Configuration PI 7.11
    and http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8071b1b8-3c5c-2e10-e7af-8cadbc49d711?QuickLink=index&overridelayout=true
    Thanks,
    Chandra

  • HT1386 I have synced the items from itunes to an iphone 4 without problem, except the two albums I just purchased did not sync.  They show up on the itunes on my desktop and on my ipod, but not on the new iphone.  What do I need to do?

    I have an itunes account and an ipod, and when I purchased 2 albums on the computer they synced straight to the ipod.  I bought an iphone and used the usb cord from the computer to it to sync the itunes albums to the new phone.  Everything transfered, and those were albums I had uploaded (not purchased from the itunes store), except the two albmus I just purchased from the itunes store.  They appear on my itunes on the computer and ipod, but not on the iphone.  What did I fail to do or did I do incorrectly?

    This might sound weird, but here's an idea which worked for me re music that was newly added to itunes and showed up in my ipod but wouldn't play - I simply played the tracks in itunes first, just a second of time or so will do it, not the whole track, then connect the ipod and sync again and this time they played - hope this helps.

Maybe you are looking for