‎2005 Dec 26 12:54 PM
Hi all,
&----
*& Report ZTEST1
*&
&----
*&
*&
&----
REPORT ztest1.
TABLES : MARA, " Material Master
MAKT, " Material Description
MARC, " Plant Data for Materials
AUSP, " Characteristic Values
CABN, " Characteristic
KSSK, " Allocation Table: Object to Class
KLAH. " Class Header Data
DATA : BEGIN OF T_CHAR OCCURS 0,
LVORM LIKE MARA-LVORM,
MATPOS_MARA LIKE MARA-MTPOS_MARA,
OBJEK LIKE AUSP-OBJEK,
ATINN LIKE AUSP-ATINN,
ATWRT LIKE AUSP-ATWRT,
CLASS LIKE KLAH-CLASS,
KLART LIKE KLAH-KLART,
ATNAM LIKE CABN-ATNAM,
CLINT LIKE KSSK-CLINT,
END OF T_CHAR.
DATA : BEGIN OF T_CHAR1 OCCURS 0,
OBJEK LIKE AUSP-OBJEK,
LVORM LIKE MARA-LVORM,
PRCTR LIKE MARC-PRCTR,
MATPOS_MARA LIKE MARA-MTPOS_MARA,
ATINN LIKE AUSP-ATINN,
ATWRT LIKE AUSP-ATWRT,
ATNAM LIKE CABN-ATNAM,
END OF T_CHAR1.
*----
*Selection Screen.
*----
selection-screen: begin of block sel with frame title text-sel.
PARAMETERS : P_MATNR LIKE MARA-MATNR.
selection-screen: end of block sel.
*----
*Selection Screen.
*----
SELECT AUSPOBJEK AUSPATINN AUSPATWRT CABNATNAM
KSSKCLINT KLAHCLASS KLAH~KLART INTO CORRESPONDING FIELDS OF TABLE T_CHAR
FROM MARA INNER JOIN AUSP ON AUSPOBJEK = P_MATNR AND AUSPKLART = '001'
INNER JOIN CABN ON CABNATINN = AUSPATINN
INNER JOIN KSSK ON KSSKOBJEK = AUSPOBJEK
INNER JOIN KLAH ON KLAHCLINT = KSSKCLINT.
*----
DELETE ADJACENT DUPLICATES FROM T_CHAR COMPARING ATINN ATNAM.
LOOP AT T_CHAR.
SELECT SINGLE * FROM MARC WHERE MATNR EQ T_CHAR-OBJEK.
IF SY-SUBRC EQ 0.
MOVE MARC-PRCTR TO T_CHAR1-PRCTR.
ENDIF.
MOVE T_CHAR-OBJEK TO T_CHAR1-OBJEK.
MOVE T_CHAR-LVORM TO T_CHAR1-LVORM.
MOVE T_CHAR-MATPOS_MARA TO T_CHAR1-MATPOS_MARA.
MOVE T_CHAR-ATNAM TO T_CHAR1-ATNAM.
MOVE T_CHAR-ATWRT TO T_CHAR1-ATWRT.
APPEND T_CHAR1.
CLEAR T_CHAR1.
ENDLOOP.
*----
LOOP AT T_CHAR1.
WRITE 😕 sy-vline,T_CHAR1-OBJEK,sy-vline,T_CHAR1-LVORM,sy-vline,T_CHAR1-PRCTR,sy-vline,
T_CHAR1-MATPOS_MARA,sy-vline,T_CHAR1-ATWRT,sy-vline,T_CHAR1-ATNAM,sy-vline.
ENDLOOP.
ULINE.
*----
CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
EXPORTING
file_name = 'C:\TEMP\T_CHAR1.XLS'
CREATE_PIVOT = 0
DATA_SHEET_NAME = ' '
PIVOT_SHEET_NAME = ' '
PASSWORD = ' '
PASSWORD_OPTION = 0
TABLES
PIVOT_FIELD_TAB =
DATA_TAB = T_CHAR1
FIELDNAMES =
EXCEPTIONS
FILE_NOT_EXIST = 1
FILENAME_EXPECTED = 2
COMMUNICATION_ERROR = 3
OLE_OBJECT_METHOD_ERROR = 4
OLE_OBJECT_PROPERTY_ERROR = 5
INVALID_PIVOT_FIELDS = 6
DOWNLOAD_PROBLEM = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
<u>Output</u>
P00038 0 P XX_LICTYPE
P00038 0 BOX XX_PROGRAM
P00038 0 I XX_AUTHUSEMDL
P00038 0 0 XX_UPGRADE
P00038 0 NALA XX_REGION
P00038 0 11.5 XX_RELLVL
P00038 0 206 XX_OPSYS
P00038 0 C XX_DISTCHAIN
P00038 0 N XX_MAINT
P00038 0 0 XX_MAINT_DURN
But i weant out put like this
Del.Flag Cost Center Item Category Group XX_LICTYPE XX_PROGRAM XX_AUTHUSEMDL XX_UPGRADE XX_REGION XX_RELLVL XX_OPSYS XX_DISTCHAIN XX_MAINT XX_MAINT_DURN
P00038 P BOX I 0 NALA 11.5 206 C N 0
Advanced Thankx to your reply
Plz suggest me the modificationes in my code
i look forward to your reply
Thanks & Regards
SEK
‎2005 Dec 26 2:21 PM
Hi
is this how u want ur output to be
line1:P00038 XX_LICTYPE XX_PROGRAM XX_AUTHUSEMDL XX_UPGRADE XX_REGION XX_RELLVL XX_OPSYS XX_DISTCHAIN XX_MAINT XX_MAINT_DURN
line2:P00038 P BOX I 0 NALA 11.5 206 C N 0
take this one this will work surely.
Write:/ T_CHAR1-OBJEK.
LOOP AT T_CHAR1.
WRITE 😕 sy-vline, T_CHAR1-ATNAM, sy-vline.
ENDLOOP.
LOOP AT T_CHAR1.
WRITE 😕 sy-vline, T_CHAR1-ATWRT, sy-vline.
ENDLOOP.
i am not sure if T_CHAR1-ATNAM corressponds to XX_LICTYPE
and T_CHAR1-ATwrt corressponds to p .
regards
vijay.
get back for more help.
get u tomorrow
‎2005 Dec 26 1:01 PM
‎2005 Dec 26 1:08 PM
i didnot understand u r question.what is the question?
Thanks
Vikranth Khimavath
‎2005 Dec 26 1:09 PM
SELECT ausp~objek
ausp~atinn
ausp~atwrt
cabn~atnam
kssk~clint
klah~class
klah~klart
INTO CORRESPONDING FIELDS OF TABLE t_char
FROM mara INNER JOIN ausp ON ausp~objek = p_matnr AND ausp~klart = '001'
INNER JOIN cabn ON cabn~atinn = ausp~atinn
INNER JOIN kssk ON kssk~objek = ausp~objek
INNER JOIN klah ON klah~clint = kssk~clint.There is some thing wrong in your join....
regards
vijay
‎2005 Dec 26 1:15 PM
can u split one line of output <b>P00038 0 P XX_LICTYPE</b> into 6 fields of ur T_CHAR1.is this the commbination of 6 fields
‎2005 Dec 26 2:21 PM
Hi
is this how u want ur output to be
line1:P00038 XX_LICTYPE XX_PROGRAM XX_AUTHUSEMDL XX_UPGRADE XX_REGION XX_RELLVL XX_OPSYS XX_DISTCHAIN XX_MAINT XX_MAINT_DURN
line2:P00038 P BOX I 0 NALA 11.5 206 C N 0
take this one this will work surely.
Write:/ T_CHAR1-OBJEK.
LOOP AT T_CHAR1.
WRITE 😕 sy-vline, T_CHAR1-ATNAM, sy-vline.
ENDLOOP.
LOOP AT T_CHAR1.
WRITE 😕 sy-vline, T_CHAR1-ATWRT, sy-vline.
ENDLOOP.
i am not sure if T_CHAR1-ATNAM corressponds to XX_LICTYPE
and T_CHAR1-ATwrt corressponds to p .
regards
vijay.
get back for more help.
get u tomorrow