2008 Mar 06 10:11 AM
Hi Gurus,
I have a scenario where the FM 'SO_NEW_DOCUMENT_ATT_SEND_API1' is used to send mails. SCOT has the respective entry as mail is sent but the status has a grayed X sign which says a message "Still no entry in queue".
This FM is used in another scenario and everything is fine overe there. I am not getting what is the cause behind this.
I also debugged the functionality and everything seems to be fine but still mail is not sent.
Please reply .
Regards,
Binay.
2008 Mar 06 10:33 AM
Hi,
Check if the sy-subrc value is 0 after thie FM SO_NEW_DOCUMENT_ATT_SEND_API1........
Cheers,
jose
2008 Mar 06 10:33 AM
Hi,
Check if the sy-subrc value is 0 after thie FM SO_NEW_DOCUMENT_ATT_SEND_API1........
Cheers,
jose
2008 Mar 06 12:25 PM
The sy-subrc value is 0 but thing is that the mail is not in the queue as per the status in SCOT.
This makes the concern.
Thanks for your reply.
2008 Mar 28 3:30 AM
Hi,
If its a greyed diamond symbol........its already sent......
the other option for sending mails is using the class cl_bcs....
Search for 'BCS*' string in SE38 for sample programs..its simpler......
Cheers,
jose.
2008 Mar 06 10:43 AM
Hi,
After calling this FM Check the sy-subrc Value and do like this.
If sy-subrc IS INITIAL.
SUBMIT rsconn01 USING SELECTION-SET 'INT' AND RETURN.
CALL FUNCTION 'SO_DEQUEUE_UPDATE_LOCKS'.
ELSE.
MESSAGE e000 WITH 'Mail sending failed'.
ENDIF.
Below points is for ur testing purpose.
U can check the status of the mail in the transaction SOST.
Execute this transaction for the date range. If the traffic light is in yellow colour then do like this.
Utilities->Start send process->Give trans method as INT and press enter. Mail will go immediately.
If the above logic don't work for u then TRY FM SO_OBJECT_SEND for sending mail.
Thanks,
Vinod.
Edited by: Vinod Kumar Vemuru on Mar 6, 2008 4:16 PM
2008 Mar 06 12:25 PM
The sy-subrc value is 0 but thing is that the mail is not in the queue as per the status in SCOT.
This makes the concern.
Thanks for your reply.
2008 Apr 16 8:00 AM
Hi,
I even tried to use the FM SO_OBJECT_SEND but getting the same result. No one is able to identify the reason behind this strange issue.
Is there any means we can place the mail entry forcefully in the queue in SCOT once our FM gets executed ?
Please reply,
Regards,
Binay
2008 Apr 16 8:08 AM
Hi Binay,
Try putting a commit work stment after the FM.
call function 'SO_NEW_DOCUMENT_ATT_SEND_API1' .
................
...............
..................
..................
If sy-subrc = 0.
commit work.
wait up to 1 seconds.
submit rsconn01 with mode = 'INT' and return.
endif.
Cheers,
jose.
2008 Apr 16 10:47 AM
Hi,
Thanks for your suggestion but this also failed.
Regards,
Binay.
2008 Apr 16 10:57 AM
Hi,
try this:
--- Versenden des Dokuments
ab 470 ist COMMIT_WORK zu setzen
und SO_DOCUMENT_SEND_API1 lt. 190669
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_DATA
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
TABLES
PACKING_LIST = OBJ_PACK
CONTENTS_TXT = OBJ_TXT
CONTENTS_BIN = OBJ_BIN
RECEIVERS = REC_LIST
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.
WRITE: / SY-SUBRC.
ENDIF.
*
perhaps it helps?
Regards, Dieter
2008 Apr 16 11:26 AM
Hi,
Perhaps you are emplhasizing on the parameter Commit.
I have tried that too but dont know why its happening.
Is there anything we can try to find in SCOT ?
How to check the queue in SCOT for mail entries ?
Please reply.
Regards,
Binay.
2008 Apr 16 12:47 PM
Hi Binay,
Did u tried checking in transaction SOST after executing ur program? I am sure that there will be an entry if sy-subrc of ur mailing FM is 0 and the traffic light will be green(Indicates mail already sent) if u did the steps i mentioned in my earlier post.
Another thing i don't understand is why are we looking in transaction SCOT. Is there any setting in ur system/specific requirement in ur case? I thing we can look into transaction SOST. Let me know above things so that i may help u further.
Thanks,
Vinod.
2008 Apr 16 1:03 PM
Hi,
I am looking into SOST via SCOT. The entry is there but with a Grey Cross sign and bearing the status "Still not in the queue".
This issue is really strange. Inspite of several attempts we are not able to find the exact problem. Neither the FM we are using has the issue nor SOST has any issues.
Regards,
Binay.
2008 Apr 16 1:25 PM
Hi Binay,
I assume the SMTP services have been correctly set up in your system. In transaction SCOT you can see a entry SMTP see if there is any settings entered in that or not.
Again as you are saying the messages are in queue and are not being sent, then this may be a issue with the BASIS setting. Usually the system is configured to send out any messages in the queue at some particular intervals (say 10 min).
It is possible in your system this configuration is not done.
thanks
Barada
2008 Apr 17 8:26 AM
Hi,
Perhaps you did not notice clearly.
I meant that the entries are not in the queue.
Entries w.r.t. other scenarios are in the queue in SOST except the one respective to my scenario.
Think you got my issue.
Thanks,
Binay.
2008 Apr 17 9:37 AM
Hi binay,
1. One thing you can try is to send
email using sap inbox (SO01)
to an external email address.
2. Check whether that appears in SCOT or not.
regards,
amit m.
2008 Jun 24 2:17 PM
Explicit commit work does not work in update task and mostly this is seen and faced in transactions like PA30 PA40 etc... our developer faced it and nothing worked..
we searched on net and found following utility program it is not free but it puts back all SO-672 '"still no entry in queue" messages back in queue and from there our standard process sends them as normal...program can be scheduled in backgroud or can be used as SUBMIT REPORT syntax in update task.. we have scheduled it every half an hour...
this is working for us...see if it works for u or not...
Kindly reward points if useful...
2009 Dec 04 3:51 PM
Try this:
CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1' STARTING NEW TASK ztask
EXPORTING
...
commit_work = 'X'
...
If you work inside of the user-exit or dynamic action, add these too:
cl_os_transaction_end_notifier=>raise_commit_requested( ).
CALL FUNCTION 'DB_COMMIT'.
cl_os_transaction_end_notifier=>raise_commit_finished( ).
-Khai-