Skip to Content

Change Output from Delivery only if certain fields are changed

Jan 23, 2017 at 12:37 PM


avatar image
Former Member

Hy all,

We want to send output from Outbound Delivery only if certain fields (e.g. LIKP-LLDAT) are changed.

According to SAP Field Documentation in Customizing for Message Types -> output type detail, general data tab (tcode = NACT, Application = V2, Field T685B-APROG and Field T685B-AROUT are provided for assigning program and custom routine to be called for this purpose. (see screenshot).


For change output normally program SAPMV50A and Routine CHECK_TPS_CHANGE is assigned.

That means i have to create ZZ* Routine (FORM ENDFORM) within SAPMV50A?? This would be modification?

Many Thanks,


10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Best Answer
Xavier Covis Jan 23, 2017 at 05:02 PM

Hi Gregor,

Please, I advise see that with an Abaper.

In my point of view, you need to make Z for the program and form routine.

You can verify all the fields controlled in the following include "MV50AF0C_CHECK_TPS_CHANGE" (trx SE38) and in the end you can found:

* check changes in LIKP
  sy-subrc = 4.
  if ylikp-wadat <> likp-wadat or
     ylikp-lddat <> likp-lddat or
     ylikp-tddat <> likp-tddat or

So you may be having 2 options:

  • Create Z with the program and form routine.
  • Make an implicated enhancement with some particular conditional logic in "MV50AF0C_CHECK_TPS_CHANGE".



Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Yep, many thanks. I will create ZZ Routine in MV50AFZ1 Include, this should be accessable and then restrict it to check ylikp-lddat <> likp-lddat only.



Noel Connolly
Jan 24, 2017 at 11:11 AM

Following up on Xavier's response, I think creating the new Z program and form is the preferable approach. Routine

CHECK_TPS_CHANGE is already assigned to standard output TPS0. Therefore, any changes made to that routine could affect any process you have that may user output TPS0 (even if you do not use that output now, maybe you will do so in the future).



10 |10000 characters needed characters left characters exceeded