Skip to Content

How to trigger output message determination for already created sales documents


we may face a situation where for already created sales documents, we need to determine and print messages that, for whatever reason, were not determined when creating the documents (for example, a failure in output determination, missing records) or there’s a new output type now in use that we need to print.

How to trigger output in those cases?

Once the process for output determination is completed in customizing & functional, we will need to open documents for modification and save them to trigger output determination.

If number of documents is really small, we can think of manually open and close them (for example, VA02, VA05N for sales orders) but if number is big, we’ll need another approach: we can use MASS transaction or develop an abap program that opens sales documents for change and saves them.

MASS transaction. Let’s see how-to with an example for sales orders.

First we need to find a field we don’t use in our sales orders. Let’s say purchase order field.

Then we run MASS transaction and select object code type BUS2032 and execute. Then in tab TABLES, we select table MASSSDHEAD_S, and in tab FIELDS, we select field MASSSDHEAD_S-BSTKD (purchase order). Now we select our sales orders and execute. In the following screen we set a value, for example, a dot (.) in new values and click on icon carry out a mass change.


This will copy a dot (.) to our sales documents in purchase order field. When saving, system will update sales orders in background, triggering output determination. Now we can open a new session to check the results in our sales orders. If dispatch time is set to 4 for the output message, output should start immediately.

Now we come back to MASS transaction session, to undo the changes. We remove values from New values, click on icon carry out a mass change to remove the dot (.) from our sales orders and save.  If dispatch time is set to 3, we can print the sales orders with report SD70AV1A.



You must be Logged on to comment or reply to a post.
  • Hi Joan, nice approach. I faced the problem where I just wanted to trigger output det. in abap for a few orders the user selected in an ALV. For those I had to change the status via fm "I_CHANGE_STATUS" and afterwards I wanted to trigger output det. Therefore I made a dummy change with the help of this code:


    la_headx-updateflag = 'U'.

    la_headx-po_supplem = 'X'.


    SELECT SINGLE bstzd INTO la_head-po_supplem FROM vbak WHERE vbeln EQ <lfs_itm>-vbeln.

    *-just do a pseudo change, only to trigger output determination



            salesdocument    = <lfs_itm>-vbeln

            order_header_in  = la_head

            order_header_inx = la_headx

    *       SIMULATION       =

    *       BEHAVE_WHEN_ERROR           = ' '

    *       INT_NUMBER_ASSIGNMENT       = ' '

    *       LOGIC_SWITCH     =

    *       NO_STATUS_BUF_INIT          = ' '


            return           = lt_ret.

    Works fine. So I change actually nothing, just replacing a value by itself in orderupdate.



  • JM,


    The first time you add a new value for ex dot in the sales orders and save, output is determined. When you execute MASS the second time, to remove that value (revert to blank) then again does the output gets determined?

    If timing is 4, then we get one "set" of unnecessary outputs.

    What about the other functions, could pricing be determined (if pricing type B), text, material determination?

    Please comment.


    • Hi TW,

      message is determined only once (first mass run, with second mass run it´s not determined because it was already determined in first run).

      There´s no redetermination of other functions such as pricing, material or texts.



  • Hi JM,

    Thanks for sharing. We will have this situation on every last day of month. I was not aware of this  but I processed via LSMW.

    Reason: Output type was not determined coz of accounting document was not released due to posting period is not open.