I want to show Sales Order with the Material's Serial Number.
i am preparing Query in the dbacockpit as below:
SELECT VBAP.WERKS, VBAP.VBELN, KNA1.KUNNR, KNA1.NAME1, VBAP.POSNR, VBAP.MATNR,VBAP.ARKTX, OBJK.SERNR, VBAK.AUART, VBAK.ERDAT, VBAK.BSTNK, VBAK.BSTDK, VBAK.ERNAM
FROM VBAP
LEFT JOIN VBAK ON VBAK.VBELN = VBAP.VBELN
LEFT JOIN OBJK ON OBJK.OBKNR = VBAP.PAOBJNR AND OBJK.OBJVW = 'S' AND OBJK.MATNR = VBAP.MATNR
LEFT JOIN KNA1 ON KNA1.KUNNR = VBAK.KUNNR
ORDER BY VBAP.VBELN, VBAP.POSNR
above query is working ok and gives the result as per requirement.
after i am preparing it's ABAP code using SE38 as below:
REPORT ZSERIALNO. TYPES : SLIS. TABLES: VBAP, VBAK, KNA1, OBJK. TYPES: BEGIN OF TY_FINAL, WERKS TYPE VBAP-WERKS, VBELN TYPE VBAP-VBELN, KUNNR TYPE KNA1-KUNNR, NAME1 TYPE KNA1-NAME1, POSNR TYPE VBAP-POSNR, MATNR TYPE VBAP-MATNR, ARKTX TYPE VBAP-ARKTX, SERNR TYPE OBJK-SERNR, AUART TYPE VBAK-AUART, ERDAT TYPE VBAK-ERDAT, BSTNK TYPE VBAK-BSTNK, BSTDK TYPE VBAK-BSTDK, ERNAM TYPE VBAK-ERNAM, END OF TY_FINAL. DATA : LV_LINES TYPE TLINE, LV_LINES1 TYPE TLINE, T1_VBELN TYPE THEAD-TDNAME, LINES TYPE TABLE OF TLINE, WA_LINES TYPE TLINE. DATA : LS_LINES TYPE TLINE, LT_LINES TYPE STANDARD TABLE OF TLINE. DATA : IT_FINAL TYPE TABLE OF TY_FINAL WITH HEADER LINE, WA_FINAL TYPE TY_FINAL. DATA : LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV. DATA : GS_LAYOUT TYPE SLIS_LAYOUT_ALV. DATA : IT_LISTHEADER TYPE SLIS_T_LISTHEADER. SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEST. SELECT-OPTIONS : P_WERKS FOR VBAP-WERKS NO INTERVALS NO-EXTENSION OBLIGATORY. SELECTION-SCREEN : END OF BLOCK B1. INITIALIZATION. TEST = 'Report of Sales Order with Serial Number'. START-OF-SELECTION. PERFORM GET_DATA. PERFORM VALIDATE_DATA. PERFORM FIELD_CATALOG. PERFORM DISPLAY_ALV_REPORT. FORM GET_DATA . SELECT VBAP~WERKS, VBAP~VBELN, KNA1~KUNNR, KNA1~NAME1, VBAP~POSNR, VBAP~MATNR,VBAP~ARKTX, OBJK~SERNR, VBAK~AUART, VBAK~ERDAT, VBAK~BSTNK, VBAK~BSTDK, VBAK~ERNAM FROM VBAP LEFT JOIN VBAK ON VBAK~VBELN = VBAP~VBELN LEFT JOIN OBJK ON OBJK~OBKNR = SER03~OBKNR AND OBJK~OBJVW = 'S' AND OBJK~MATNR = VBAP~MATNR LEFT JOIN KNA1 ON KNA1~KUNNR = VBAK~KUNNR INTO TABLE @IT_FINAL WHERE VBAP~VBELN = '0050003286' AND VBAP~WERKS IN P_WERKS ORDER BY VBAP~VBELN, VBAP~POSNR. ENDFORM. FORM VALIDATE_DATA . IF SY-SUBRC <> 0. MESSAGE 'Invalid Selection' TYPE 'E'. ENDIF. ENDFORM.
GIVES ERROR AS BELOW:
Program ZSERIALNO
The type of "SER03~OBKNR" or the result type of the function
"SER03~OBKNR" and the type of "VBAP~PAOBJNR" are not compatible for the
operation in question.