Uploading Material Master Long Text (Basic data text, Inspection text, Internal comment)

By Teja

This program could be used to upload the material master long text (Basic data text, inspection text, internal comment). Following is the screenshot from the transaction MM02.

 

We can achieve this functionality by using the Function Module ‘CREATE_TEXT’. 

Please note that if the long text already exists, then it is overwritten in this case. 

REPORT ZMM_INSERT_LONGTEXT.
*Internal table to hold long text...
DATA:
  BEGIN OF T_UPLOAD OCCURS 0,
    MATNR LIKE MARA-MATNR,             " Material number
    ID(2) TYPE C,                      " Identification
    LTEXT LIKE TLINE-TDLINE,           " Long text
  END OF T_UPLOAD,
*Internal table to hold long text....
  T_LINE LIKE TLINE OCCURS 0 WITH HEADER LINE.
DATA:
   W_GRUN LIKE THEAD-TDID ,            " To hold id
   W_OBJECT LIKE THEAD-TDOBJECT VALUE 'MATERIAL',
                                       " To hold object id
   LV_VALUE(70).                       " Value to hold material number
START-OF-SELECTION.
* This perform is used to upload the file
  PERFORM UPLOAD_FILE.
* This perform is used to place the text in MM02 transaction
  PERFORM PLACE_LONGTEXT.
*&---------------------------------------------------------------------*
*&      Form  create_text
*&---------------------------------------------------------------------*
*  This routine used to create text in MM02 transaction
*----------------------------------------------------------------------*
*  Passed the parameter w_grun to P_C_GRUN
*                 and lv_value to P_LV_VALUE
*----------------------------------------------------------------------*
FORM CREATE_TEXT  USING    P_C_GRUN
                           P_LV_VALUE.
  DATA:
    L_ID LIKE THEAD-TDID,
    L_NAME(70).
  MOVE : P_C_GRUN TO L_ID,
         P_LV_VALUE TO L_NAME.
  CALL FUNCTION 'CREATE_TEXT'
       EXPORTING
         FID               = L_ID
         FLANGUAGE         = SY-LANGU
         FNAME             = L_NAME
         FOBJECT           = W_OBJECT
*      SAVE_DIRECT       = 'X'
*      FFORMAT           = '*'
       TABLES
         FLINES            = T_LINE
      EXCEPTIONS
        NO_INIT           = 1
        NO_SAVE           = 2
        OTHERS            = 3
               .
  IF SY-SUBRC <> 0.
    CLEAR LV_VALUE.
  ELSE.
    DELETE T_LINE INDEX 1.
  ENDIF.
ENDFORM.                    " create_text
*&---------------------------------------------------------------------*
*&      Form  upload_file
*&---------------------------------------------------------------------*
*  This routine is used to upload file
*----------------------------------------------------------------------*
*  No interface parameters are passed
*----------------------------------------------------------------------*
FORM UPLOAD_FILE .
  CALL FUNCTION 'UPLOAD'
   EXPORTING
*     CODEPAGE                      = ' '
*     FILENAME                      = ' '
      FILETYPE                      = 'DAT'
*     ITEM                          = ' '
*     FILEMASK_MASK                 = ' '
*     FILEMASK_TEXT                 = ' '
*     FILETYPE_NO_CHANGE            = ' '
*     FILEMASK_ALL                  = ' '
*     FILETYPE_NO_SHOW              = ' '
*     LINE_EXIT                     = ' '
*     USER_FORM                     = ' '
*     USER_PROG                     = ' '
*     SILENT                        = 'S'
*   IMPORTING
*     FILESIZE                      =
*     CANCEL                        =
*     ACT_FILENAME                  =
*     ACT_FILETYPE                  =
    TABLES
      DATA_TAB                      = T_UPLOAD
     EXCEPTIONS
       CONVERSION_ERROR              = 1
       INVALID_TABLE_WIDTH           = 2
       INVALID_TYPE                  = 3
       NO_BATCH                      = 4
       UNKNOWN_ERROR                 = 5
       GUI_REFUSE_FILETRANSFER       = 6
       OTHERS                        = 7
            .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  SORT T_UPLOAD BY MATNR ID.
ENDFORM.                    " upload_file
*&---------------------------------------------------------------------*
*&      Form  place_longtext
*&---------------------------------------------------------------------*
*  This routine places the text in MM02 transaction
*----------------------------------------------------------------------*
*  No interface parameters are passed
*----------------------------------------------------------------------*
FORM PLACE_LONGTEXT .
  LOOP AT T_UPLOAD.
    T_LINE-TDFORMAT = 'ST'.
    T_LINE-TDLINE = T_UPLOAD-LTEXT.
    APPEND T_LINE.
    IF T_UPLOAD-ID EQ 'BT'.
      MOVE T_UPLOAD-MATNR TO LV_VALUE.
      MOVE 'GRUN' TO W_GRUN.                   "Test ID for Basic data text
      PERFORM CREATE_TEXT USING W_GRUN LV_VALUE.
    ENDIF.
    IF T_UPLOAD-ID EQ 'IT'.
      CLEAR W_GRUN.
      MOVE T_UPLOAD-MATNR TO LV_VALUE.
      MOVE 'PRUE' TO W_GRUN.                      "Test ID for Inspection text
      PERFORM CREATE_TEXT USING W_GRUN LV_VALUE.
    ENDIF.
    IF T_UPLOAD-ID EQ 'IC'.
      CLEAR W_GRUN.
      MOVE : T_UPLOAD-MATNR TO LV_VALUE,
             'IVER' TO W_GRUN.                     
                                                  "Test ID for Internal comment
      PERFORM CREATE_TEXT USING W_GRUN LV_VALUE.
    ENDIF.
  ENDLOOP.
ENDFORM.                    " place_longtext
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值