Document management - auto assign characteristic value

Question: While creating a document is there a way that I can automatically assign a value to a characteristic?

I'm allowing users to create documents in the DMS and attach them to quality notifications. I have assigned a document management (type 017) class to a custom document type. The user can easily add characteristic values to the document. However, I want to pre-populate some of the characteristic values. Any suggestions?

Answer:
I wasn't able to find a config. only solution. From the save classification user-exit I populated the desired characteristics.

First, I created a new class and characteristics for class type 017. I assigned the new class to my document type. This links the new characteristics to my document. In user-exit EXIT_SAPLCLFM_002 the program checks to see if a user manually entered the desired characteristics. If not, the program inserts the new characteristic values. Some of these characeristics could have been setup as object links instead of characteristics. However, for our purposes characteristics was a better choice. Here is the solution that was very specific to our company

*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_RMCLF) LIKE RMCLF STRUCTURE RMCLF
*" VALUE(I_APPL) LIKE RMCLF-KREUZ
*" VALUE(I_CALLED) TYPE C OPTIONAL
*" EXPORTING
*" VALUE(E_ACTIVE) LIKE RMCLF-KREUZ
*" VALUE(E_OK_CODE) LIKE SY-UCOMM
*" VALUE(E_DYNPRO) LIKE SY-DYNNR
*" TABLES
*" T_ALLKSSK STRUCTURE RMCLKSSK
*" T_ALLAUSP STRUCTURE RMCLAUSP
*" T_DELCL STRUCTURE RMCLDEL
*" T_DELOB STRUCTURE RMCLDOB
*"----------------------------------------------------------------------
DATA: BEGIN OF W_VIQMEL.
INCLUDE STRUCTURE VIQMEL.
DATA: FECOD LIKE VIQMFE-FECOD,
END OF W_VIQMEL.

DATA: W_ATINN LIKE CABN-ATINN.
DATA: W_ATZHL TYPE WZAEHL.

IF I_RMCLF-KLART = '017'. "Document management

IMPORT W_VIQMEL FROM MEMORY ID 'W_VIQMEL'.
IF SY-SUBRC = 0.

LOOP AT T_ALLKSSK WHERE CLASS = 'ZQUAL_NOTIFICATION'.

*Populate plant characteristic
IF NOT W_VIQMEL-MAWERK IS INITIAL.
CLEAR: W_ATINN.
CALL FUNCTION 'CONVERSION_EXIT_ATINN_INPUT'
EXPORTING
INPUT = 'PLANTS'
IMPORTING
OUTPUT = W_ATINN.

READ TABLE T_ALLAUSP WITH KEY OBJEK = T_ALLKSSK-OBJEK
ATINN = W_ATINN.
IF SY-SUBRC <> 0 AND NOT W_ATINN IS INITIAL.
CLEAR: T_ALLAUSP.
T_ALLAUSP-OBJEK = T_ALLKSSK-OBJEK.
T_ALLAUSP-ATINN = W_ATINN.
T_ALLAUSP-ATZHL = 1.
T_ALLAUSP-KLART = '017'.
T_ALLAUSP-MAFID = 'O'.
T_ALLAUSP-ATWRT = W_VIQMEL-MAWERK.
T_ALLAUSP-ATCOD = '1'.
T_ALLAUSP-STATU = 'H'.
T_ALLAUSP-OBTAB = 'DRAW'.
APPEND T_ALLAUSP.
E_ACTIVE = 'X'.
ENDIF.
ENDIF.

*Populate material characteristic
IF NOT W_VIQMEL-MATNR IS INITIAL.
CLEAR: W_ATINN.
CALL FUNCTION 'CONVERSION_EXIT_ATINN_INPUT'
EXPORTING
INPUT = 'MATERIAL'
IMPORTING
OUTPUT = W_ATINN.

READ TABLE T_ALLAUSP WITH KEY OBJEK = T_ALLKSSK-OBJEK
ATINN = W_ATINN.
IF SY-SUBRC <> 0 AND NOT W_ATINN IS INITIAL.
CLEAR: T_ALLAUSP.
T_ALLAUSP-OBJEK = T_ALLKSSK-OBJEK.
T_ALLAUSP-ATINN = W_ATINN.
T_ALLAUSP-ATZHL = 1.
T_ALLAUSP-KLART = '017'.
T_ALLAUSP-MAFID = 'O'.
T_ALLAUSP-ATWRT = W_VIQMEL-MATNR.
T_ALLAUSP-ATCOD = '1'.
T_ALLAUSP-STATU = 'H'.
T_ALLAUSP-OBTAB = 'DRAW'.
APPEND T_ALLAUSP.
E_ACTIVE = 'X'.
ENDIF.
ENDIF.

*Populate vendor characteristic
IF NOT W_VIQMEL-LIFNUM IS INITIAL.
CLEAR: W_ATINN.
CALL FUNCTION 'CONVERSION_EXIT_ATINN_INPUT'
EXPORTING
INPUT = 'VENDOR'
IMPORTING
OUTPUT = W_ATINN.

READ TABLE T_ALLAUSP WITH KEY OBJEK = T_ALLKSSK-OBJEK
ATINN = W_ATINN.
IF SY-SUBRC <> 0 AND NOT W_ATINN IS INITIAL.
CLEAR: T_ALLAUSP.
T_ALLAUSP-OBJEK = T_ALLKSSK-OBJEK.
T_ALLAUSP-ATINN = W_ATINN.
T_ALLAUSP-ATZHL = 1.
T_ALLAUSP-KLART = '017'.
T_ALLAUSP-MAFID = 'O'.
T_ALLAUSP-ATWRT = W_VIQMEL-LIFNUM.
T_ALLAUSP-ATCOD = '1'.
T_ALLAUSP-STATU = 'H'.
T_ALLAUSP-OBTAB = 'DRAW'.
APPEND T_ALLAUSP.
E_ACTIVE = 'X'.
ENDIF.
ENDIF.

*Populate defect code characteristic
IF NOT W_VIQMEL-FECOD IS INITIAL.
CLEAR: W_ATINN.
CALL FUNCTION 'CONVERSION_EXIT_ATINN_INPUT'
EXPORTING
INPUT = 'DEFECT_CODE'
IMPORTING
OUTPUT = W_ATINN.

READ TABLE T_ALLAUSP WITH KEY OBJEK = T_ALLKSSK-OBJEK
ATINN = W_ATINN.
IF SY-SUBRC <> 0 AND NOT W_ATINN IS INITIAL.
CLEAR: T_ALLAUSP.
T_ALLAUSP-OBJEK = T_ALLKSSK-OBJEK.
T_ALLAUSP-ATINN = W_ATINN.
T_ALLAUSP-ATZHL = 1.
T_ALLAUSP-KLART = '017'.
T_ALLAUSP-MAFID = 'O'.
T_ALLAUSP-ATWRT = W_VIQMEL-FECOD.
T_ALLAUSP-ATCOD = '1'.
T_ALLAUSP-STATU = 'H'.
T_ALLAUSP-OBTAB = 'DRAW'.
APPEND T_ALLAUSP.
E_ACTIVE = 'X'.
ENDIF.
ENDIF.

ENDLOOP.
ENDIF.
ENDIF.
Copyright ?2007 - 2008 www.jt77.com