cancel
Showing results for 
Search instead for 
Did you mean: 

TD: 423 Express termination message Write Form error

Former Member
0 Kudos

Hello All,

I am having a problem with printing of a pick slip from a delivery directly using SAP Script. When ever I trigger an output from Vl02N with further data dispatch time = Send immediately (when saving the application) an express message is being generated and sent to my mail box. The Error info is TD 423: WRITE_FORM.

If I change the dispatch time to Send with Application own transaction it works fine. I can go to VL71 transaction and print the pick slip. I am not able to figure out why it terminates in the first case. All other standard scripts and custom scripts do not have any problem. I suspect it is a tecnical problem due to my code.

Any help on this is greatly appreciated.

Thanks,

Giridhar Vejendla

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Giridhar,

Is it possible that, when sending immediately, the print program is starting before the calling transaction has committed to the database. This could be why you are getting the error. This would explain why Send with Application works.

Regards

Gareth

Former Member
0 Kudos

May be that is true. Any suggestions to fix it?

Former Member
0 Kudos

Hi Giriadhar,

In the function module WRITE_FORM the line

<i> if rstxc-tdopen = false.

call function 'SAPSCRIPT_MESSAGE_DEF'

exporting no = 423

v1 = 'WRITE_FORM'.

perform exception.

message a423 with 'WRITE_FORM' raising unopened.

endif.</i>

is where the error is coming from. The rstxc-tdopen should have been set by the call to FM OPEN_FORM in your print program. I would start by placing a break-point in OPEN_FORM at line 40

check co_perform-active <> true.

and in WRITE_FORM at line 25

check co_perform-active <> true.

and see if OPEN form and WRITE form are being called and run correctly.

Regards

Gareth

Former Member
0 Kudos

Garneth,

The break point wouldn't stop in the open form. I tried to place the break point. But the control does not go there. Its not even touching my print program when further data is set to immediate print after save. You are talking about rstxc-tdopen field. Where do we see it in the open form. Can we update it externally?

Any other suggestions?

Thanks,

Giri..

Former Member
0 Kudos

Hi Giri,

Well, the OPEN_FORM routine is fount in the form FORM OPEN in program RVADEK01. But some processing occurs before the open form is hit.

Before OPEN_FORM is called, the following is done:

<i>* convert communication data

move-corresponding nast to lvs_snast.

move sy-repid to lvf_program.

call function 'CONVERT_COMM_TYPE_DATA'

exporting

pi_comm_type = lvs_comm_type

pi_comm_values = lvs_comm_values

pi_screen = us_screen

  • PI_NEWID =

pi_country = us_country

pi_repid = lvf_program

pi_snast = lvs_snast

importing

pe_itcpo = lvs_itcpo

pe_device = lvf_device

pe_mail_recipient = lvs_recipient

pe_mail_sender = lvs_sender

exceptions

comm_type_not_supported = 1

recipient_creation_failed = 2

sender_creation_failed = 3

others = 4.

if sy-subrc <> 0.

retcode = sy-subrc.

syst-msgty = 'E'.

perform protocol_update.

endif.

check retcode eq 0.</i>

I think in your system, retcode is not equal to zero and thus never gets to the OPEN_FORM call. To find out what to do:

1) Place a breakpoint at line 15 of program RVADOPFO where retcode is set to zero.

2) Step through the logic paying special attention to the return of FM CONVERT_COMM_TYPE_DATA. This should tell you what is missing.

3) If sy-subrc from CONVERT_COMM_TYPE_DATA is 4 or 3, you will have to step into the function and work out why the exception is being raised.

Regards

Gareth

Former Member
0 Kudos

Dear Gareth,

I am facing the same problem in migo 105 mvt..with same error. TD423 Write form

the problem here is with some logins who have sap all authorizations its working fine..105 mvt is happening and in rest of the login its giving error. The issue is our Basis team is enable to find the error checking the roles and we can't give all authorizations to our users.

If it was a program error then for all logins it should give error. Which is that role and object/profile by which this error can be eliminated. Plz help!!!!