How to restart an workflow if ended in error at SEND Mail step.
Hello All
I am facing some problem in restarting the error workflow.
Issue is:
Workflow ended in error at the mail notification step, since the mail id is not filled into the container so there is no address (mail id) and ended in error.
How to restart these kinds of workflow in the system?, we have tried to change the container value by assigning mail id and restarted the workflow but still went into error.
Is it possible to restart an workflow which ended in error other than rule resolution.
Regards
Anand KS
I think you went in the write approach. I think you have to change the container properly by populating the ADDRESSTRING container element. Also check whether type of email recipient in your container is et to Email.
Thanks
Arghadip
Similar Messages
-
How to send mails in HTML format from the send mail step of workflow?
Hi,
I have a requirement where I need to send mails in the html format from the send mail step of the workflows.
But what I found out that the html tags are not renderd and as such the output is in plain text.
I know that there is an alternative of using an activity step and use my own custom code from within there,But due to certain business constraints, I need to use the send mail step only.
My SCOT settings are all right.
Please let me know how it can be done.
Thanks,
Samrat.Samrat,
It can't be done, you have to use your own activity step.
What are these constraints that refrain you from doing that?
Rgds,
Patrick -
Logo in send mail step - workflow
Dear Experts,
I'm using send mail step for sending mails from workflow to external mail id's in workflow, i need company logo in the same is it possible to do, or suggest me how to do on this issue.
Thanks and Regards,
Thirukumaran. RHi Sunil,
I assume that the login ID is SUNIL and the expression is fetching the 'US' appended value as USSUNIL.
Please check the datatype of the fetched value. It should be WFSYST-AGENT.
Regards,
Saumya -
How to send Formatted text in send mail step
Greetings
I need to send a formatted email in the send mail step of WF, however I don't se any option to change the font/size/color etc. Currently the email body contains only simple text.
Appreciate your quick response.
Thanks>
Weise, Roman wrote:
> Hello Manas,
>
> sending a formated email with a standard mail step will not be posible as far as i know. in general sending formated emails only makes sense if you can be sure that you are in a completely consolidated environment, e.g. a company where everyone uses the same mail client with a configuration ensure through a company pc template. if you try to send formated mails to heterogeneous environment you won't be happy as email clients / web mail providers are so different that you will be busy triying to get an acceptable layout for eternity (i deal a lot with mail sending to externals and always have these discusions with my customers).
>
> If you are sure you have a consolidated environment you could try to send a smartform through a functional method in a workflow. smartforms allow a high flexibility in layout. If you want to try this option i can give you additional help on the implementation.
>
> Best Regards
>
> Roman Weise
Hi Roman,
I have the same issue and I'm in a consolidated environment. I'd like to know if sending through a smartform will produce an e-mail message with attachment or just a text mail and the steps required to do so.
thanks in advance
Stefano -
SEND MAIL STEP IN WORKFLOWS.
hi gurus,
The send mail step sends a notification to the sap inbox of the user. This step works fine in a client, whereas it fails in another......I am not aware of the reason.
Regards,
Sukumar.hi,
please check the agent finding rule is failed in the log or the background job is scheduled properly inorder to schedule or delver the mails using the transaction : swnconfig if it EP 5.0 or above.
if it is issue with the workflow like buffer problem, then try this technique
You have changed your workflow template in client 000. If you look to the workflow definition in another client with SWDD, then you see the newest version as just maintained in client 000. But at runtime, the old (former) version of the workflow definition is used.
Cause:
When activating a workflow template, then also some client specific data is replicated from client 000 to the other clients. In this replication there is currently an error. I just talked to a workflow colleague. The problem we have observed seems to be just the tip of an iceberg ... . They are working on the issue(s) related to this.
Workaround:
Execute function module SWD_WFD_REPLICATE_FROM_9999 in the client, you need to have the newest template definition. Enter your workflow template ID (with pattern "WSxxxxxxxx") in parameter IM_TASK and execute. Make sure that you do not lock the template in SWDD.
Then you also (may) need to execute transaction SWU_OBUF to synchronize the buffer
i hope this answers your query.
Regards,
Saujanya -
Send mail step in local workflow
Hi Experts,
I have inserted a send mail step in my local workflow. But while executing the workflow rather than sending mail my workflow stops with status In process in send mail step. In graphical log its displaying as "No agent found" for send mail step. But i have assigned workflow initiator as agent. But other than send mail if i use other steps like user decision or activity in local workflow, wokflows proceeds with execution and sets to status completed. Should i not use send mail in local workflow step?
Things i have done:
1. I have mail workflow as general task from PFTC.
2. Tried with SWU_OBUF
3. Correctly assigned WF_INITIATOR as expression for send mail.
Kindly help me in this regard.
KR,
S BharathDear Bakker,
Sorry for the confusion. In send mail I tried with 2 options,
1. I directly gave expression as WF_INITIATOR
2. I created a workflow container element with type SWHACTOR and assigned a user id as initial value.
In both cases I am not getting send mail icon and status mail sent (one that usually comes for a send mail step in log) but instead i am getting an activity icon displayed with status ready. But there is no agent icon displayed (usually we click this to find the assigned agent). So the status of the workflow remains as In process.
KR,
S Bharath -
Is it possible to create a new task for the send mail step of the workflow instead of using the standard task TS45308726-send mail?
Hello Binil,
I can't see why you would want to create another task. This task should be able to provide you with all you need.
Any way, it is definitely possible. All you have to do is to create a method in a class that will send the desired e-mail. Inside this method you can call any send e-mail function module (for example, SO_SEND_OBJECT or SO_OBJECT_SEND - I'm not sure of the order, but you should be able to find it). After that generate a task that calls this method (using transaction PFTC).
After that, you can insert this newly created task into your workflow template.
Regards,
Abdullah -
Issue in workflow binding of Table in send mail step
Hi All,
I am working on a Travel Management workflow where mail needs to be sent to the manager along with the trip details.
We are displaying data in tables (html format). Now i need to add another such table with details into this already existing workflow but i am facing issues in binding.
Issue: For already existing tables, the binding is like this,
Export to task,
&TRIP& --> &T_SUMMARY##&
Import to w/f,
&T_SUMMARY##& <--- &T_SUMMARY##&.
But when i am trying to add my table in binding as, &TRIP& --> &T_MILEAGE##&,
I am getting a binding error, &T_MILEAGE##& is not available in the container.
I checked the container both in workflow and in task, both contain multiple declarations of the variable &TRIP& which is of type the BO.
Kindly help me how to proceed further.
Regards,
JoseHi Anjan,
The status of note 1658491 is also cannot not be implemented.
I checked the correction given in this note. All changes exists into system.
Following is code of method SEND ( (CL_SWF_UTL_MAIL_FACADE)
*- check if document has recipients at all
lt_recipients = lo_send_request->recipients( ).
if lt_recipients is initial.
lo_send_request->delete( ).
ls_t100msg-msgid = 'WZ'.
ls_t100msg-msgty = 'E'.
ls_t100msg-msgno = 619.
raise exception type cx_swf_run_wim
exporting
t100_msg = ls_t100msg.
else.
*- Send document
call method lo_send_request->send( ).
endif.
The exception is thrown, because lt_recipients table is blank.
With same parameter the workflow is running successfully if 'Long mail title' is not set in SWPA.
When is field is active, workflow returns message Document <> could not be sent
The method "SELFITEM->SendTaskDescription" does not send mail if Long Mail Title" indicator is set .
Thanks & Regards,
Mounj K -
How can i insure that job finished and good and send mail to the user ?
how can i insure that job finished and good ,
and how can i send mail to the user "ok" ?Hi Dakota. We do something simular with our nightly MRP job. Our MRP job runs around midnight, then we kick off another job about 4am which checks to see if any of the jobs in question have abended, if so, then it sends an email to the email addresses specify in the report variant. Of course, this could be modified to check for successfully complete jobs, if that is your requirement.
REPORT ZBCJOBMONITOR .
TABLES: SOMLREC90,
TBTCO.
DATA: MAILDATA LIKE SODOCCHGI1.
DATA: MAILTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
DATA: MAILREC LIKE SOMLREC90 OCCURS 0 WITH HEADER LINE.
DATA: I_TBTCO LIKE TBTCO OCCURS 0 WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001 .
SELECT-OPTIONS: S_JOB FOR TBTCO-JOBNAME.
SELECT-OPTIONS: S_JOBC FOR TBTCO-JOBClass.
SELECT-OPTIONS: S_REC FOR SOMLREC90-RECEIVER.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
CLEAR: MAILDATA, MAILTXT, MAILREC, I_TBTCO.
REFRESH: MAILTXT, MAILREC, I_TBTCO.
PERFORM GET_ABENDED_JOBS.
PERFORM BUILD_RECEIVERS.
LOOP AT I_TBTCO.
PERFORM BUILD_TEXT_MESSAGE.
PERFORM SEND_MAIL_NODIALOG..
ENDLOOP.
* Form BUILD_TEXT_MESSAGE
FORM GET_ABENDED_JOBS.
SELECT * FROM TBTCO
INTO CORRESPONDING FIELDS OF TABLE I_TBTCO
WHERE JOBNAME IN S_JOB
AND STATUS = 'A'
AND JOBCLASS IN S_JOBC
AND SDLSTRTDT = SY-DATUM.
ENDFORM.
* Form BUILD_TEXT_MESSAGE
FORM BUILD_TEXT_MESSAGE.
DATA: DATE(10) TYPE C.
DATA: TIME(10) TYPE C.
MAILDATA-OBJ_NAME = 'MONITOR'.
MAILDATA-OBJ_DESCR = 'Batch Job Monitor'.
MAILDATA-OBJ_LANGU = SY-LANGU.
CONCATENATE 'Job Name:' I_TBTCO-JOBNAME
INTO MAILTXT-LINE SEPARATED BY SPACE.
APPEND MAILTXT.
PERFORM FORMAT_DATE USING I_TBTCO-SDLSTRTDT
DATE.
CONCATENATE I_TBTCO-SDLSTRTTM+0(2) ':'
I_TBTCO-SDLSTRTTM+2(2) ':'
I_TBTCO-SDLSTRTTM+4(2)
INTO TIME.
CONCATENATE 'Start Date/Time:' DATE TIME
INTO MAILTXT-LINE SEPARATED BY SPACE.
APPEND MAILTXT.
CONCATENATE 'Job Class:' I_TBTCO-JOBCLASS
INTO MAILTXT-LINE SEPARATED BY SPACE.
APPEND MAILTXT.
MAILTXT-LINE = 'Job has terminated abnormally'.
APPEND MAILTXT.
ENDFORM.
* Form BUILD_RECEIVERS
FORM BUILD_RECEIVERS.
LOOP AT S_REC.
CLEAR MAILREC.
MAILREC-RECEIVER = S_REC-LOW.
MAILREC-REC_TYPE = 'U'.
APPEND MAILREC.
ENDLOOP.
ENDFORM.
* Form SEND_MAIL_NODIALOG
FORM SEND_MAIL_NODIALOG.
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'
EXPORTING
DOCUMENT_DATA = MAILDATA
DOCUMENT_TYPE = 'RAW'
PUT_IN_OUTBOX = 'X'
TABLES
OBJECT_HEADER = MAILTXT
OBJECT_CONTENT = MAILTXT
RECEIVERS = MAILREC
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
* Form FORMAT_DATE
FORM FORMAT_DATE USING IN
OUT.
CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
EXPORTING
DATE_INTERNAL = IN
IMPORTING
DATE_EXTERNAL = OUT
EXCEPTIONS
DATE_INTERNAL_IS_INVALID = 1
OTHERS = 2.
ENDFORM.
Regards,
Rich Heilman -
How can I change the default account from which I send mail
Currently I have 2 email addresses/accounts. When I send an email, the older address appears as the "from" address, if I don't remember to change to the newer one. How can I make the newer address appear as the default "from" address?
# Press '''Alt''' or '''F10''' to see the menu bar
# Click on the '''Tools''' >> '''Account Settings'''
# At left, select the second account
# At the bottom left, click on the '''Account Actions''' button, then select '''Set as default''' -
How to Convert internal table data into text output and send mail in ABAP
Hi All,
Good Morning.
Taking a glance at a code that converts internal table data to an Excel file in ABAP. also checked how to send this excel to mailing list as attachment.
But thought of doing it without excel.
I mean, I have an internal table which contains fields of all types (character,integer,date,time). Since it is only around 4 to 5 rows in it (output),why to convert it to excel. not required!!. Instead I want to send this output to User's mails as Normal mail body with No attachments.
Could anybody please suggest me a way as to how to send internal table data as a mail ( not as an excel or PDF etc).
as of now my findings are, it is quite complex to convert internal table data to email (Text) format. but i believe if there is some way of doing it.
Best Regards
Dileep VThere's something I have used in the past where we send out information about failed precalculation settings (which are stored in internal table gt_fail)
notice we use gt_text as "mail body"
TRY.
* -------- create persistent send request ------------------------
gv_send_request = cl_bcs=>create_persistent( ).
* -------- create and set document -------------------------------
* create text to be sent
wa_line = text-001.
APPEND wa_line TO gt_text.
CLEAR wa_line.
APPEND wa_line TO gt_text.
LOOP AT gt_fail ASSIGNING <fs_fail>.
MOVE <fs_fail>-retry_count TO gv_count.
CONCATENATE text-002
<fs_fail>-setting_id
text-003
gv_count
INTO wa_line SEPARATED BY space.
APPEND wa_line TO gt_text.
CLEAR wa_line.
ENDLOOP.
APPEND wa_line TO gt_text.
wa_line = text-007.
APPEND wa_line TO gt_text.
* create actual document
gv_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = gt_text
i_length = '12'
i_subject = 'Failed Precalculation Settings!' ).
* add document to send request
CALL METHOD gv_send_request->set_document( gv_document ).
* --------- set sender -------------------------------------------
gv_sender = cl_sapuser_bcs=>create( sy-uname ).
CALL METHOD gv_send_request->set_sender
EXPORTING
i_sender = gv_sender.
* --------- add recipient (e-mail address) -----------------------
LOOP AT s_email INTO wa_email.
MOVE wa_email-low TO gv_email.
gv_recipient = cl_cam_address_bcs=>create_internet_address(
gv_email ).
CALL METHOD gv_send_request->add_recipient
EXPORTING
i_recipient = gv_recipient
i_express = 'X'.
ENDLOOP.
* ---------- set to send immediately -----------------------------
CALL METHOD gv_send_request->set_send_immediately( 'X' ).
* ---------- send document ---------------------------------------
CALL METHOD gv_send_request->send(
EXPORTING
i_with_error_screen = 'X'
RECEIVING
result = gv_sent_to_all ).
IF gv_sent_to_all = 'X'.
WRITE text-004.
ENDIF.
COMMIT WORK.
* exception handling
CATCH cx_bcs INTO gv_bcs_exception.
WRITE: text-005.
WRITE: text-006, gv_bcs_exception->error_type.
EXIT.
ENDTRY.
with the following declarations
* TABLES *
TABLES:
adr6,
rsr_prec_sett.
* INTERNAL TABLES & WORK AREAS *
DATA:
gt_fail TYPE SORTED TABLE OF rsr_prec_sett
WITH UNIQUE KEY setting_id run_date,
gt_text TYPE bcsy_text,
wa_fail LIKE LINE OF gt_fail,
wa_line(90) TYPE c.
FIELD-SYMBOLS:
<fs_fail> LIKE LINE OF gt_fail.
* VARIABLES *
DATA:
gv_count(4) TYPE n,
gv_send_request TYPE REF TO cl_bcs,
gv_document TYPE REF TO cl_document_bcs,
gv_sender TYPE REF TO cl_sapuser_bcs,
gv_recipient TYPE REF TO if_recipient_bcs,
gv_email TYPE adr6-smtp_addr,
gv_bcs_exception TYPE REF TO cx_bcs,
gv_sent_to_all TYPE os_boolean.
* SELECTION-SCREEN *
SELECT-OPTIONS:
s_email FOR adr6-smtp_addr NO INTERVALS MODIF ID sel.
DATA:
wa_email LIKE LINE OF s_email. -
How to setup SMTP server in PC so as to send mails using JavaMail
Hi,
From forums i got it cleared that we can use JavaMail to send emails. I also got two sample codes about getting it done. But in the code its asks address of the host of SMTP server. I dont have any SMTP server. But i am writing a Library Application in which an email must be sent to users automatically when thier books are in overdue.
Where can i get SMTP server to be installed on my PC so that i can use it send mails through Javamail API.
ThanksIsnt there any way setup SMTP server on own pc?? I just want to send mails in my local area network.
-
Workflow got Stopped How to restart
i have an issue with my workflow, coulpe of back gnd steps involved in my workflow. those steps are completed after that one user decision step defined .one background step i.e send mail step is defined that is completed after that user decision step is defined. my workflow got stuck between those 2 steps. based on that workflow log (Technical details Edit-->Change) the back ground job got completed.after that User decision step defined. workflow not passed to that step.
How shold i restart the workflow in Production in this case.
Regards,
shiva.hi swaminathan
Thanks for you reply.
As per our bussiness when workflow triggered then one mail will aslo go to vendor. if i execute from swus again workflow will trigger. also our scenario 3 approvers are ther 1 approver already approved after that mail step is defined as back ground, saying that (your inbox having wokitem ,please complete etc ...) for 2nd approver again user decision step is there But betwenn thsese 2 steps workflow stuck.
Regards,
Siva -
How to automatic complete workflow after 3 weeks ago ?
Hi all,
I have one problem about workflow in SAP.
I have the workflow that have one agent to assigned.
How can I setup workflow to automatic complete if agent don't process task within 3 weeks ?Hi,
Check whether the background job SWWDHEX is configured and its running for each 3 minutes.
Also if you set the deadline as 3 minutes's, then you have to wait for some more 3 mins. Once the deadline reached the background job will execute the step with in three minutes. Check transaction SWWA. Here you can set the time interval for deadline job SWWDHEX.
Then in the Activity step once the deadline is set, then select the modeled deadline in the action field. So that it will create a new
branch in the wok flow template.
For testing purpose, Just create a send mail step in the new branch and wait for ten minutes. Deadline will be reached and the mail will send to the inbox.
Thanks. -
Sending mail from workflow or Updating container from FM
Dear friends,
I'm new to work flow.
My requirement: send mail from workflow to a user after dead line is missed I do not want to use messages in 'Latest end' tab. I want to send mail.
The mail id of the user is determined in the previous step using a FM. How do I use this mail id to send the mail. I thought of using 'Rule' option in 'Send Mail' (and use same FM)but thats not possible. In that case how do I pass the mail id value to the WF container from the FM?
I also tried this idea:
created a task with BOR object SELFITEM, method 'SENDTASKDESCRIPTION' .
*in an activity step used this task and filled the 'Rule' option in notification tab appropriately
*in this case the WF goes into an error '.....error executing 'sendtaskdescription' .....'
*i would prefer using the activity step because, the mail has to be sent after a delay
Is there any other simple method to do this?
My problem would be solved even if someone can show me how to transfer values from a FM into a WF container.
Can someone please explain?Hi,
=> To get the deadline worked via programming, you can write your own logic. In current case,
1. Create a custom function, having proper input and output parameters like End Time to wait if in case you have maximum of 2 days of wait.
The total wait time is calculated from the Endtime, which is input to function module. From the Endtime, the start date and end date are calculated and then the difference between the two dates is counted as total wait time.
Here at the most 2 days of wait time is calculated.
* Local parameters
DATA: LV_UTCSTART TYPE /SDF/CMO_TSTMP,
LV_UTCEND TYPE /SDF/CMO_TSTMP,
LV_SECOND TYPE /SDF/CMO_SEC,
LV_ENDDATE TYPE SY-DATUM,
LV_STR TYPE STRING.
IF ENDTIME >= SY-UZEIT AND ENDTIME <= '235959'.
* Today's date
LV_ENDDATE = SY-DATUM.
ELSE.
* Tomorrow's date
LV_ENDDATE = SY-DATUM + 1.
ENDIF.
* Get the Start Time for function module
CONCATENATE SY-DATUM SY-UZEIT INTO LV_STR.
MOVE LV_STR TO LV_UTCSTART.
CLEAR LV_STR.
* Get the End Time for function module
CONCATENATE LV_ENDDATE ENDTIME INTO LV_STR.
MOVE LV_STR TO LV_UTCEND.
CLEAR LV_STR.
* Get the total wait time in seconds
CALL FUNCTION '/SDF/CMO_TIME_DIFF_GET'
EXPORTING
UTC_START = LV_UTCSTART
UTC_END = LV_UTCEND
IMPORTING
SECOND = LV_SECOND
EXCEPTIONS
PARAMERR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Wait for total time
WAIT UP TO LV_SECOND SECONDS.
2. Now, create one method in the BOR object whose event triggers your workflow.
3. Use this method in an activity step in you workflow where you want to wait on some given conditions.
=> You can use the email ID which was given by earlier step in Send Mail step. Just make your email id field as Export/Import <i><b>AD_SMTPADR</b></i> type of parameter. In the send mail, use this Id in Email Address input.
Hope this helps your.
PS If the answer solves your query, plz close the thread by marking it Solved and rewarding each reply.
Regards
Maybe you are looking for
-
Trying to move VI from one computer to another w/ all sub VI's
Hi all New to the community, LabView, and computer programming; needless to say, I need some help. I'm trying to move a VI from one computer to another, and this VI has a number of subVI's used in it. When I tried to move the VI itself, I'm not able
-
To read the data given in inbound lagacy input file
Hi Experts, My requirement is that i have got a input inbound lagacy file that has around 31 fields that are separted by space now i have to read those values using open data set and read data set in a internal table. each field in legacy input file
-
I've used Old Toad's suggestion and made a disk image first because the DVDs I've tried to produce show a few pictures in playback and then go white. The slideshow works fine in the iDVD program, and in the initial rendering stage all seems o.k. unt
-
TS3212 Error 7 (windows error 126) what is that and how can i fix it?
I am getting a error message from Itunes and cannot open Itunes. How can I solve this?
-
JPA and @SecondaryTable
Suppose I have an object that is mapped across two tables using the @SecondaryTable annotation. Suppose further that the primary table often contains records that do not have a corresponding secondary table record. If I merge() this entity, having as