2007 Feb 15 2:11 PM
hi,
i need to retreive data from classification tab in mm02.
it has a class type assigned for materials.
there is a std FM 'QC02_BATCH_CHAR_SPECS' do it in case the class type is assigned to batch.
is there a function module to retrieve the data from material master on similar grounds (when the class type is assigned to materials)?
kindly help.
Thanks
gaurav
hi,
i need to retreive data from classification tab in mm02.
it has a class type assigned for materials.
there is a std FM 'QC02_BATCH_CHAR_SPECS' do it in case the class type is assigned to batch.
is there a function module to retrieve the data from material master on similar grounds (when the class type is assigned to materials)?
kindly help.
Thanks
gaurav
2007 Feb 15 2:16 PM
Hello,
Use this Select commands.
DATA: BEGIN OF L_T_OBJECT OCCURS 0,
OBJEK TYPE OBJNUM,
MATNR TYPE MATNR,
END OF L_T_OBJECT.
DATA: L_OBJECTS TYPE TY_OBJECTS.
CLEAR: L_T_OBJECT.
REFRESH: L_T_OBJECT.
Fill the object number
LOOP AT G_T_MAT INTO G_R_MAT.
AT NEW MATNR.
L_T_OBJECT-OBJEK = G_R_MAT-MATNR.
L_T_OBJECT-MATNR = G_R_MAT-MATNR.
APPEND L_T_OBJECT.
ENDAT.
ENDLOOP.
CLEAR:G_T_OBJECTS,G_T_CLASSDESC,G_T_CHARDESC,G_T_CABN,G_T_KSML,
G_T_CAWNT.
REFRESH: G_T_OBJECTS,G_T_CLASSDESC,G_T_CHARDESC,G_T_CABN,G_T_KSML,
G_T_CAWNT.
Get the material classification details
SELECT ACUOBJ AOBJEK AKLART BATINN BATZHL BATWRT B~ATFLV
BATAWE BATFLB BATAW1 CCLINT D~CLASS
INTO CORRESPONDING FIELDS OF TABLE G_T_OBJECTS
FROM INOB AS A INNER JOIN AUSP AS B
ON ACUOBJ = BOBJEK AND
AKLART = BKLART
INNER JOIN KSSK AS C
ON BOBJEK = COBJEK AND
BKLART = CKLART
INNER JOIN KLAH AS D
ON CCLINT = DCLINT
FOR ALL ENTRIES IN L_T_OBJECT
WHERE A~OBJEK EQ L_T_OBJECT-OBJEK AND
A~OBTAB EQ 'MARA' AND
A~KLART IN S_KLART AND
B~ADZHL EQ '0000' AND
C~LKENZ EQ ' ' AND
D~CLASS IN S_CLASS.
IF NOT G_T_OBJECTS[] IS INITIAL.
SELECT CLINT IMERK KLART
FROM KSML
INTO CORRESPONDING FIELDS OF TABLE G_T_KSML
FOR ALL ENTRIES IN G_T_OBJECTS
WHERE CLINT EQ G_T_OBJECTS-CLINT.
ENDIF.
IF NOT G_T_KSML[] IS INITIAL.
SORT G_T_KSML BY CLINT.
SORT G_T_OBJECTS BY ATINN KLART.
LOOP AT G_T_KSML.
READ TABLE G_T_OBJECTS WITH KEY ATINN = G_T_KSML-IMERK.
IF SY-SUBRC NE 0.
CLEAR: L_OBJECTS.
READ TABLE G_T_OBJECTS WITH KEY KLART = G_T_KSML-KLART.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING G_T_OBJECTS TO L_OBJECTS.
CLEAR G_T_OBJECTS.
G_T_OBJECTS-ATINN = G_T_KSML-IMERK.
G_T_OBJECTS-KLART = G_T_KSML-KLART.
G_T_OBJECTS-CLINT = G_T_KSML-CLINT.
G_T_OBJECTS-CUOBJ = L_OBJECTS-CUOBJ.
G_T_OBJECTS-OBJEK = L_OBJECTS-OBJEK.
G_T_OBJECTS-CLASS = L_OBJECTS-CLASS.
APPEND G_T_OBJECTS.
CLEAR G_T_OBJECTS.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
IF NOT G_T_OBJECTS[] IS INITIAL.
SELECT CLINT KSCHL
FROM SWOR
INTO CORRESPONDING FIELDS OF TABLE G_T_CLASSDESC
FOR ALL ENTRIES IN G_T_OBJECTS
WHERE CLINT EQ G_T_OBJECTS-CLINT AND
KLPOS EQ '01' AND
SPRAS EQ SY-LANGU.
IF NOT G_T_CLASSDESC[] IS INITIAL.
SORT G_T_CLASSDESC BY CLINT.
ENDIF.
SELECT ATINN ATBEZ
FROM CABNT
INTO CORRESPONDING FIELDS OF TABLE G_T_CHARDESC
FOR ALL ENTRIES IN G_T_OBJECTS
WHERE ATINN EQ G_T_OBJECTS-ATINN AND
SPRAS EQ SY-LANGU.
IF NOT G_T_CHARDESC[] IS INITIAL.
SORT G_T_CHARDESC BY ATINN.
ENDIF.
SELECT ATINN MSEHI
FROM CABN
INTO CORRESPONDING FIELDS OF TABLE G_T_CABN
FOR ALL ENTRIES IN G_T_OBJECTS
WHERE ATINN EQ G_T_OBJECTS-ATINN.
SELECT ATINN ATWTB
FROM CAWNT
INTO CORRESPONDING FIELDS OF TABLE G_T_CAWNT
FOR ALL ENTRIES IN G_T_OBJECTS
WHERE ATINN EQ G_T_OBJECTS-ATINN AND
ADZHL EQ '0000' AND
SPRAS EQ SY-LANGU.
ENDIF.
Vasanth
2007 Feb 16 8:20 AM
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |