Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

solution

Former Member
0 Kudos

Hi Experts,

I am trying to send the inforamtion to my customers whenever the purchase order is crearted to intimate the PO information to customer's mail . For this i am using Badi ME_PURCHDOC_POSTED. But it is not going to customer'sl id. Please check my code & correct it. Any other settings i have to do for this?

Inside of method i have coded like this


 DATA : W_DOCUMENT TYPE SODOCCHGI1,
           LW_MARA    TYPE MARA,
           LW_MAKT    TYPE MAKT,
          IT_USER    TYPE TABLE OF  somlreci1,
           IT_YUSER LIKE LINE OF IT_USER.


  IT_YUSER-RECEIVER = '    '.
  APPEND  IT_YUSER to it_user.

  IT_YUSER-RECEIVER = ' '.
  APPEND  IT_YUSER to it_user.

  DATA : LT_TXT     TYPE TABLE OF SOLISTI1,
         LW_TXT     LIKE LINE OF LT_TXT.
  DATA : LT_PACK    TYPE TABLE OF SOPCKLSTI1,
         LW_PACK    LIKE LINE OF LT_PACK.

  DATA : LW_EKPO LIKE LINE OF IM_EKPO.


  LOOP AT IM_EKPO INTO LW_EKPO.


    SELECT SINGLE * FROM MARA INTO LW_MARA
     WHERE MATNR = LW_EKPO-MATNR.


    IF SY-SUBRC IS INITIAL.

      SELECT SINGLE * FROM MAKT INTO LW_MAKT
       WHERE MATNR = LW_EKPO-MATNR
         AND SPRAS = SY-LANGU.

      CONCATENATE LW_EKPO-MATNR '-' LW_MAKT-MAKTX
             INTO LW_TXT
        SEPARATED BY SPACE.
      APPEND LW_TXT TO LT_TXT.

    ENDIF.

  ENDLOOP.

  IF LT_TXT IS INITIAL. RETURN. ENDIF.

  CONCATENATE 'The Purchase Order No.'
              IM_EKKO-EBELN
              'for the following'
              'materials has been posted:'
         INTO LW_TXT
    SEPARATED BY SPACE.

  INSERT LW_TXT INTO LT_TXT INDEX 1.
  INSERT SPACE  INTO LT_TXT INDEX 2.

  CONCATENATE 'P.O. No.' IM_EKKO-EBELN 'Posted'
         INTO W_DOCUMENT-OBJ_DESCR
    SEPARATED BY SPACE.

  W_DOCUMENT-SENSITIVTY = 'O'.
  W_DOCUMENT-OBJ_LANGU  = SY-LANGU.



  LW_PACK-HEAD_START = 1.
  LW_PACK-HEAD_NUM   = 0.
  LW_PACK-BODY_START = 1.
  LW_PACK-BODY_NUM   = LINES( LT_TXT ).
  LW_PACK-DOC_TYPE   = 'RAW'.
  APPEND LW_PACK TO LT_PACK.

  CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
      DOCUMENT_DATA              = W_DOCUMENT
    TABLES
      PACKING_LIST               = LT_PACK
      CONTENTS_TXT               = LT_TXT
      RECEIVERS                  = it_user
    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.

1 REPLY 1

Former Member
0 Kudos

Hi kelvin

Use 'commit work' at the end of FM

Reward if useful

Regards.

Talwinder