Skip to Content
Author's profile photo joan mas

How to trigger output message determination for already created sales documents

Hi,

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.

1.JPG

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.

Regards,

JM

Assigned Tags

      13 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Srinu S
      Srinu S

      Hi Joan,

      Useful document.Thanks for sharing. 🙂

      thanks,

      Srinu.

      Author's profile photo joan mas
      joan mas
      Blog Post Author

      Thanks Srinu.

      Regards,

      JM

      Author's profile photo Former Member
      Former Member

      Thanks john for knowledge sharing 🙂

      Nice document...

      Author's profile photo joan mas
      joan mas
      Blog Post Author

      Thanks Meghna

      Author's profile photo Shiva Vasireddy
      Shiva Vasireddy

      Good to know this New process

      Thank you for Sharing.

      Author's profile photo joan mas
      joan mas
      Blog Post Author

      Thanks Siva

      Author's profile photo Hubertus Mittermayer
      Hubertus Mittermayer

      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

          CALL FUNCTION 'BAPI_SALESORDER_CHANGE'

            EXPORTING

              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          = ' '

            TABLES

              return           = lt_ret.

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

      BR

      Hubertus

      Author's profile photo joan mas
      joan mas
      Blog Post Author

      Thanks Hubertus.

      Regards,

      JM

      Author's profile photo Former Member
      Former Member

      Nice Keep It up sir.

      Author's profile photo joan mas
      joan mas
      Blog Post Author

      Thanks Anwer for your comments.

      Regards,

      JM

      Author's profile photo TW Typewriter
      TW Typewriter

      JM,

      Thanks!

      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.

      TW

      Author's profile photo joan mas
      joan mas
      Blog Post Author

      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.

      Regards,

      JM

      Author's profile photo Hidayathulla Hasan
      Hidayathulla Hasan

      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.

      Regards

      Hidayath