2013 Mar 01 3:02 PM
Hi expert,
Getting dump error...give me solution...
TYPE-POOLS: SLIS.
TABLES :
BSEG, "Accounting Document Segment
BSAS, "Accounting: Secondary Index for G/L Accounts (Cleared Items
QALS, "Inspection Lot Record
QAVE. "Usage Decision
DATA: BEGIN OF IT_FINAL OCCURS 0,
WERKS LIKE BSEG-WERKS,
LIFNR LIKE EKKO-LIFNR,
NAME1 LIKE LFA1-NAME1,
NAME2 LIKE LFA1-NAME2,
BELNR LIKE BSEG-BELNR,
GJAHR LIKE BSEG-GJAHR,
BUDAT LIKE BSAS-BUDAT,
EBELN LIKE BSEG-EBELN,
EBELP LIKE BSEG-EBELP,
MATNR LIKE BSEG-MATNR,
MAKTX LIKE MAKT-MAKTX,
MENGE TYPE P DECIMALS 3,
APQTY LIKE BSEG-MENGE,
LMENGE01 LIKE QALS-LMENGE01,
LMENGE04 LIKE QALS-LMENGE04,
STAT35 LIKE QALS-STAT35,
VCODE LIKE QAVE-VCODE,
DMBTR LIKE BSEG-DMBTR,
PSWSL LIKE BSEG-PSWSL,
WRBTR LIKE BSEG-WRBTR,
WAERS LIKE BSAS-WAERS,
EXBED LIKE J_1IPART2-EXBED,
XBLNR LIKE MKPF-XBLNR,
INVNO LIKE RSEG-BELNR,
INVYE LIKE RSEG-GJAHR,
DOCNO LIKE J_1IPART2-DOCNO,
MBLNR LIKE MKPF-MBLNR,
STAT LIKE QALS-STAT35,
PSWBT LIKE BSEG-PSWBT,
END OF IT_FINAL.
DATA: BEGIN OF IT_MAKT OCCURS 0,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF IT_MAKT.
DATA: BEGIN OF IT_LFA1 OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
NAME2 LIKE LFA1-NAME2,
END OF IT_LFA1.
DATA: BEGIN OF IT_EKKO OCCURS 0,
EBELN LIKE EKKO-EBELN, "purchase doc no
LIFNR LIKE EKKO-LIFNR, "Vendor Code
END OF IT_EKKO.
DATA: BEGIN OF IT_QALS OCCURS 0,
MBLNR TYPE QALS-MBLNR,
ZEILE TYPE QALS-ZEILE, "item number
LMENGE01 TYPE QALS-LMENGE01,
LMENGE04 TYPE QALS-LMENGE04, "
PRUEFLOS TYPE QALS-PRUEFLOS,
STAT35 TYPE QALS-STAT35,
END OF IT_QALS.
DATA: BEGIN OF IT_QAVE OCCURS 0,
PRUEFLOS TYPE QALS-PRUEFLOS, " Inspection Lot
VCODE TYPE QAVE-VCODE,
END OF IT_QAVE.
DATA: BEGIN OF IT_MKPF OCCURS 0,
MBLNR LIKE MKPF-MBLNR,
MJAHR LIKE MKPF-MJAHR,
XBLNR LIKE MKPF-XBLNR,
END OF IT_MKPF.
DATA: BEGIN OF IT_BKPF OCCURS 0,
BUKRS LIKE BKPF-BUKRS,
BELNR LIKE BKPF-BELNR,
GJAHR LIKE BKPF-GJAHR,
AWTYP LIKE BKPF-AWTYP,
AWKEY LIKE BKPF-AWKEY,
BLDAT LIKE BKPF-BLDAT,
BUDAT LIKE BKPF-BUDAT,
END OF IT_BKPF.
DATA BEGIN OF IT_EKBES OCCURS 0.
INCLUDE STRUCTURE EKBES.
DATA END OF IT_EKBES.
DATA: BEGIN OF IT_RSEG OCCURS 0,
BELNR LIKE RSEG-BELNR, "MIRO number
GJAHR LIKE RSEG-GJAHR,
MATNR LIKE RSEG-MATNR,
LFBNR LIKE RSEG-LFBNR,
LFGJA LIKE RSEG-LFGJA,
END OF IT_RSEG.
DATA: BEGIN OF IT_BSEG OCCURS 0,
BELNR LIKE BSEG-BELNR,
GJAHR LIKE BSEG-GJAHR,
BUZEI LIKE BSEG-BUZEI,
SHKZG LIKE BSEG-SHKZG,
DMBTR LIKE BSEG-DMBTR,
WRBTR LIKE BSEG-WRBTR,
PSWBT LIKE BSEG-PSWBT,
PSWSL LIKE BSEG-PSWSL,
ZUONR LIKE BSEG-ZUONR,
MATNR LIKE BSEG-MATNR,
MENGE LIKE BSEG-MENGE,
EBELN LIKE BSEG-EBELN,
EBELP LIKE BSEG-EBELP,
WERKS LIKE BSEG-WERKS,
END OF IT_BSEG.
DATA: BEGIN OF IT_TAGG OCCURS 0,
BELNR LIKE BSEG-BELNR,
END OF IT_TAGG.
DATA: BEGIN OF IT_BSAS OCCURS 0,
ZUONR LIKE BSAS-ZUONR,
GJAHR LIKE BSAS-GJAHR,
BELNR LIKE BSAS-BELNR,
SHKZG LIKE BSAS-SHKZG,
DMBTR LIKE BSAS-DMBTR,
WAERS LIKE BSAS-WAERS,
END OF IT_BSAS.
*-----Internal tables used by ALV
DATA:
IT_FIELDCAT_ALV TYPE SLIS_T_FIELDCAT_ALV,
IT_STATUS TYPE SLIS_FORMNAME VALUE 'F_MAIN',
IT_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'F_USER_COMMAND',
IT_EVENTS TYPE SLIS_T_EVENT,
IT_EVENT_EXIT TYPE SLIS_T_EVENT_EXIT,
IT_LIST_COMMENTS TYPE SLIS_T_LISTHEADER,
IT_EXCLUDING TYPE SLIS_T_EXTAB,
IT_SORT TYPE SLIS_T_SORTINFO_ALV.
*----------------------------------------------------------------------*
* Declaration for Constants
*----------------------------------------------------------------------*
CONSTANTS: C_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME
VALUE 'F_TOP_OF_PAGE'.
*----------------------------------------------------------------------*
* Declaration for Variables *
*----------------------------------------------------------------------*
DATA : WK_DOCNO LIKE J_1IPART1-DOCNO,
WK_DOCYR LIKE J_1IPART1-DOCYR.
DATA : WK_FROMDATE(10),
WK_TODATE(10).
DATA: WK_START_DATE LIKE SY-DATUM.
DATA: WK_END_DATE LIKE SY-DATUM.
DATA: WK_MBLNR LIKE MKPF-MBLNR,
WK_MJAHR LIKE MKPF-MJAHR,
WK_STAT LIKE QALS-LMENGE01.
* Variables to be used by ALV
DATA:
WK_VARIANT LIKE DISVARIANT,
WK_VARIANT_SAVE(1) TYPE C,
WK_REPID LIKE SY-REPID,
WK_CALLBACK_UCOMM TYPE SLIS_FORMNAME,
WK_PRINT TYPE SLIS_PRINT_ALV,
WK_LAYOUT TYPE SLIS_LAYOUT_ALV,
WK_FIELDCAT_ALV LIKE LINE OF IT_FIELDCAT_ALV,
WK_EXCLUDING LIKE LINE OF IT_EXCLUDING,
WK_EVENTS LIKE LINE OF IT_EVENTS.
DATA: WK_LIST_COMMENTS LIKE LINE OF IT_LIST_COMMENTS.
DATA: WK_SORT_ALV LIKE LINE OF IT_SORT.
*----------------------------------------------------------------------*
* Selection screen
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-000.
PARAMETER : PA_BUKRS LIKE BSEG-BUKRS OBLIGATORY.
SELECT-OPTIONS : PA_WERK FOR QALS-WERK.
SELECT-OPTIONS : SO_HKONT FOR BSEG-HKONT.
PARAMETER : PA_GJAHR LIKE BSEG-GJAHR OBLIGATORY.
SELECT-OPTIONS : PA_BUDAT FOR BSAS-BUDAT OBLIGATORY.
SELECT-OPTIONS : SO_LIFNR FOR BSEG-LIFNR.
SELECT-OPTIONS : SO_EBELN FOR BSEG-EBELN.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-024.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS ALLIT LIKE AM07M-LGBST RADIOBUTTON GROUP OUTP DEFAULT 'X'.
SELECTION-SCREEN COMMENT 4(50) TEXT-021 FOR FIELD ALLIT.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS TAGG LIKE AM07M-LGBST RADIOBUTTON GROUP OUTP.
SELECTION-SCREEN COMMENT 4(50) TEXT-022 FOR FIELD TAGG.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS UNTAGG LIKE AM07M-LGBST RADIOBUTTON GROUP OUTP.
SELECTION-SCREEN COMMENT 4(50) TEXT-023 FOR FIELD UNTAGG.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B3.
*----------------------------------------------------------------------*
* AT SELECTION-SCREEN ON VALUE-REQUEST *
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Initialisation
*----------------------------------------------------------------------*
INITIALIZATION.
*----------------------------------------------------------------------*
* Start of Selection
*----------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM GET_DATA.
PERFORM F_INIT_VARIANT.
PERFORM F_FIELDCAT_BUILD.
PERFORM F_EVENT_BUILD.
PERFORM F_PRINT_BUILD.
PERFORM F_LAYOUT_BUILD.
PERFORM F_DISPLAY_DATA.
*&---------------------------------------------------------------------*
*& Form display_data
*&---------------------------------------------------------------------*
FORM F_DISPLAY_DATA.
WK_CALLBACK_UCOMM = 'CALLBACK_UCOMM'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'SIWB_WALLPAPER'
I_CALLBACK_PROGRAM = WK_REPID
IT_SORT = IT_SORT
I_DEFAULT = 'X'
I_SAVE = 'A'
IS_VARIANT = WK_VARIANT
IS_LAYOUT = WK_LAYOUT
I_CALLBACK_USER_COMMAND = WK_CALLBACK_UCOMM
IT_FIELDCAT = IT_FIELDCAT_ALV
IT_EVENTS = IT_EVENTS
IT_EVENT_EXIT = IT_EVENT_EXIT
IT_EXCLUDING = IT_EXCLUDING
IS_PRINT = WK_PRINT
TABLES
T_OUTTAB = IT_FINAL.
ENDFORM. "F_DISPLAY_DATA
*&--------------------------------------------------------------------*
*& Form F_FIELDCAT_BUILD
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM F_FIELDCAT_BUILD.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = WK_REPID
I_INTERNAL_TABNAME = 'IT_FINAL'
I_INCLNAME = WK_REPID
CHANGING
CT_FIELDCAT = IT_FIELDCAT_ALV.
LOOP AT IT_FIELDCAT_ALV INTO WK_FIELDCAT_ALV.
CASE WK_FIELDCAT_ALV-FIELDNAME.
WHEN 'LIFNR'.
WK_SORT_ALV-SUBTOT = 'X'.
WK_SORT_ALV-UP = 'X'.
WK_SORT_ALV-FIELDNAME = 'LIFNR'.
APPEND WK_SORT_ALV TO IT_SORT .
WHEN 'MATNR'.
WK_SORT_ALV-SUBTOT = 'X'.
WK_SORT_ALV-UP = 'X'.
WK_SORT_ALV-FIELDNAME = 'MATNR'.
APPEND WK_SORT_ALV TO IT_SORT .
WHEN 'DMBTR'.
WK_FIELDCAT_ALV-DO_SUM = 'X'.
WK_FIELDCAT_ALV-DECIMALS_OUT = 2.
WHEN 'EXBED'.
WK_FIELDCAT_ALV-DO_SUM = 'X'.
WHEN 'XBLNR'.
WK_FIELDCAT_ALV-SELTEXT_S = TEXT-008.
WK_FIELDCAT_ALV-SELTEXT_M = TEXT-008.
WK_FIELDCAT_ALV-SELTEXT_L = TEXT-008.
WHEN 'MENGE'.
WK_FIELDCAT_ALV-SELTEXT_S = TEXT-014.
WK_FIELDCAT_ALV-SELTEXT_M = TEXT-014.
WK_FIELDCAT_ALV-SELTEXT_L = TEXT-014.
WHEN 'APQTY'.
WK_FIELDCAT_ALV-SELTEXT_S = TEXT-015.
WK_FIELDCAT_ALV-SELTEXT_M = TEXT-015.
WK_FIELDCAT_ALV-SELTEXT_L = TEXT-015.
WHEN 'LMENGE04'.
WK_FIELDCAT_ALV-SELTEXT_S = TEXT-016.
WK_FIELDCAT_ALV-SELTEXT_M = TEXT-016.
WK_FIELDCAT_ALV-SELTEXT_L = TEXT-016.
WHEN 'INVNO'.
WK_FIELDCAT_ALV-SELTEXT_S = TEXT-017.
WK_FIELDCAT_ALV-SELTEXT_M = TEXT-017.
WK_FIELDCAT_ALV-SELTEXT_L = TEXT-017.
WHEN 'INVYE'.
WK_FIELDCAT_ALV-SELTEXT_S = TEXT-018.
WK_FIELDCAT_ALV-SELTEXT_M = TEXT-018.
WK_FIELDCAT_ALV-SELTEXT_L = TEXT-018.
WHEN 'BELNR'.
WK_FIELDCAT_ALV-SELTEXT_S = TEXT-019.
WK_FIELDCAT_ALV-SELTEXT_M = TEXT-019.
WK_FIELDCAT_ALV-SELTEXT_L = TEXT-019.
WHEN 'MBLNR'.
WK_FIELDCAT_ALV-SELTEXT_S = TEXT-020.
WK_FIELDCAT_ALV-SELTEXT_M = TEXT-020.
WK_FIELDCAT_ALV-SELTEXT_L = TEXT-020.
WHEN 'PSWBT'.
WK_FIELDCAT_ALV-DO_SUM = 'X'.
WHEN OTHERS.
ENDCASE.
MODIFY IT_FIELDCAT_ALV FROM WK_FIELDCAT_ALV.
ENDLOOP.
ENDFORM. "F_FIELDCAT_BUILD
*&--------------------------------------------------------------------*
*& Form F_EVENT_BUILD
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM F_EVENT_BUILD.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_EVENTS.
READ TABLE IT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO WK_EVENTS.
IF SY-SUBRC = 0.
MOVE C_FORMNAME_TOP_OF_PAGE TO WK_EVENTS-FORM.
MODIFY IT_EVENTS FROM WK_EVENTS INDEX SY-TABIX.
ENDIF.
ENDFORM. " BUILD_EVENTTAB
*&---------------------------------------------------------------------*
*& Form F_print_build
*&---------------------------------------------------------------------*
FORM F_PRINT_BUILD.
WK_PRINT-NO_PRINT_LISTINFOS = 'X'.
ENDFORM. "F_print_build
*&---------------------------------------------------------------------*
*& Form F_layout_build
*&---------------------------------------------------------------------*
FORM F_LAYOUT_BUILD.
WK_LAYOUT-ZEBRA = 'X'.
WK_LAYOUT-NO_VLINE = 'X'.
WK_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
WK_LAYOUT-DETAIL_POPUP = 'X'.
WK_LAYOUT-DETAIL_INITIAL_LINES = 'X'.
WK_LAYOUT-DETAIL_TITLEBAR = 'Internal Order Details'(002).
ENDFORM. "F_layout_build
*&---------------------------------------------------------------------*
*& Form F_init_variant
*&---------------------------------------------------------------------*
FORM F_INIT_VARIANT.
CLEAR: WK_VARIANT.
WK_REPID = SY-REPID.
WK_VARIANT-REPORT = WK_REPID.
WK_VARIANT-USERNAME = SY-UNAME.
WK_VARIANT_SAVE = 'A'. "All types
ENDFORM. "F_INIT_VARIANT
*---------------------------------------------------------------------*
* FORM F_TOP_OF_PAGE *
*---------------------------------------------------------------------*
FORM F_TOP_OF_PAGE.
CLEAR: IT_LIST_COMMENTS[].
WK_LIST_COMMENTS-TYP = 'H'. "H=Header, S=Selection, A=Action
WK_LIST_COMMENTS-KEY = ''.
WK_LIST_COMMENTS-INFO = TEXT-002.
APPEND WK_LIST_COMMENTS TO IT_LIST_COMMENTS.
WK_LIST_COMMENTS-TYP = 'S'. "H=Header, S=Selection, A=Action
WK_LIST_COMMENTS-KEY = ''.
CONCATENATE TEXT-013 SO_HKONT-LOW+4(6)
INTO WK_LIST_COMMENTS-INFO SEPARATED BY SPACE.
APPEND WK_LIST_COMMENTS TO IT_LIST_COMMENTS.
WK_LIST_COMMENTS-TYP = 'A'. "H=Header, S=Selection, A=Action
WK_LIST_COMMENTS-KEY = ''.
WRITE WK_START_DATE TO WK_FROMDATE.
WRITE PA_BUDAT TO WK_TODATE.
IF WK_TODATE LT WK_FROMDATE.
CONCATENATE TEXT-003 WK_FROMDATE TEXT-004 WK_FROMDATE
INTO WK_LIST_COMMENTS-INFO SEPARATED BY SPACE.
ELSE.
CONCATENATE TEXT-003 WK_FROMDATE TEXT-004 WK_TODATE
INTO WK_LIST_COMMENTS-INFO SEPARATED BY SPACE.
ENDIF.
APPEND WK_LIST_COMMENTS TO IT_LIST_COMMENTS.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
I_LOGO = 'ENJOYSAP_LOGO'
IT_LIST_COMMENTARY = IT_LIST_COMMENTS.
ENDFORM. "F_TOP_OF_PAGE
*&----------------------------------------------------------------*
*& Form F_exclude_build
*&---------------------------------------------------------------*
FORM F_EXCLUDE_BUILD.
WK_EXCLUDING = '&GRAPH'. "Graphic
APPEND WK_EXCLUDING TO IT_EXCLUDING.
ENDFORM. " exclude_build
*----------------------------------------------------------------------*
* End of Selection
*----------------------------------------------------------------------*
END-OF-SELECTION.
*&--------------------------------------------------------------------*
*& Form GET_DATA
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM GET_DATA.
CONCATENATE PA_GJAHR '04' '01' INTO WK_START_DATE.
SELECT
ZUONR "Assignment Number
GJAHR "Fiscal Year
BELNR "Document Number
SHKZG "Debit/Credit Indicator
DMBTR "Amount in LC
WAERS "Currency
INTO CORRESPONDING FIELDS OF TABLE
IT_BSAS
FROM
BSIS
WHERE
BUKRS = PA_BUKRS
AND HKONT IN SO_HKONT
AND BUDAT IN PA_BUDAT
AND WERKS IN PA_WERK.
* AND BUDAT BETWEEN WK_START_DATE AND PA_BUDAT.
SELECT
ZUONR "Assignment Number
GJAHR "Fiscal Year
BELNR "Document Number
SHKZG "Debit/Credit Indicator
DMBTR "Amount in LC
WAERS "Currency
FROM BSAS
APPENDING TABLE IT_BSAS
WHERE BUKRS = PA_BUKRS
AND HKONT IN SO_HKONT
AND AUGDT > PA_BUDAT
AND BUDAT IN PA_BUDAT
AND WERKS IN PA_WERK.
* AND BUDAT BETWEEN WK_START_DATE AND PA_BUDAT.
READ TABLE IT_BSAS INDEX 1.
IF SY-SUBRC NE 0.
MESSAGE S000.
STOP.
ENDIF.
SELECT
BELNR "Document Number
GJAHR "Fiscal Year
BUZEI "Line Item
SHKZG "Debit/Credit Indicator
DMBTR "Amount in LC
WRBTR "Amount in Document Currency
PSWBT "GL aMOUNT
PSWSL "Document Currency,
ZUONR "Assignment Number
MATNR "Material Number
MENGE "Quantity
EBELN "Purchase Document Number
EBELP "Item Number of Purchasing Document
WERKS "Plant
INTO TABLE IT_BSEG
FROM BSEG
FOR ALL ENTRIES IN IT_BSAS
WHERE BUKRS = PA_BUKRS
AND BELNR = IT_BSAS-BELNR
AND GJAHR = IT_BSAS-GJAHR
AND EBELN IN SO_EBELN
AND LIFNR IN SO_LIFNR
* AND BUZID = 'F'
AND ( AUGBL = SPACE OR
AUGDT > PA_BUDAT )
AND KOART = 'S'
AND HKONT IN SO_HKONT.
SORT IT_BSEG BY BELNR.
SELECT
BUKRS "Company Code
BELNR "Document Number
GJAHR "Fiscal Year
AWTYP "Reference Procedure
AWKEY "Object Key
BLDAT "Document Date
BUDAT "Posting Date
INTO TABLE IT_BKPF
FROM BKPF
FOR ALL ENTRIES IN IT_BSEG
WHERE BUKRS = PA_BUKRS
AND BELNR = IT_BSEG-BELNR
AND GJAHR = IT_BSEG-GJAHR.
SELECT
BELNR
GJAHR
MATNR
LFBNR
LFGJA
INTO TABLE IT_RSEG
FROM RSEG
FOR ALL ENTRIES IN IT_BKPF
WHERE BUKRS = PA_BUKRS
AND BELNR = IT_BKPF-AWKEY+0(10)
AND GJAHR = PA_GJAHR.
SELECT
MBLNR
ZEILE
LMENGE01
LMENGE04
PRUEFLOS
STAT35
INTO TABLE IT_QALS
FROM QALS
FOR ALL ENTRIES IN IT_BSEG
WHERE MBLNR = IT_BSEG-BELNR
AND WERK IN PA_WERK.
SELECT
PRUEFLOS
VCODE
INTO TABLE IT_QAVE
FROM QAVE
FOR ALL ENTRIES IN IT_QALS
WHERE PRUEFLOS = IT_QALS-PRUEFLOS.
* SELECT MBLNR MJAHR XBLNR INTO TABLE IT_MKPF
* FROM MKPF
* FOR ALL ENTRIES IN IT_BSEG
* WHERE MBLNR = IT_BSEG-BELNR.
*
SELECT
MBLNR
MJAHR
XBLNR
INTO TABLE IT_MKPF
FROM MKPF
FOR ALL ENTRIES IN IT_BKPF
WHERE MBLNR = IT_BKPF-AWKEY+0(10).
* AND MJAHR = IT_BSEG-GJAHR.
SELECT
EBELN
LIFNR
INTO TABLE IT_EKKO
FROM EKKO
FOR ALL ENTRIES IN IT_BSEG
WHERE EBELN = IT_BSEG-EBELN.
SELECT
LIFNR
NAME1
NAME2
INTO TABLE IT_LFA1
FROM LFA1
FOR ALL ENTRIES IN IT_EKKO
WHERE LIFNR = IT_EKKO-LIFNR.
SELECT
MATNR
MAKTX
INTO TABLE IT_MAKT
FROM MAKT
FOR ALL ENTRIES IN IT_BSEG
WHERE MATNR = IT_BSEG-MATNR.
LOOP AT IT_BSEG.
CLEAR: IT_FINAL,
IT_MKPF,
WK_MBLNR,
WK_MJAHR.
MOVE-CORRESPONDING IT_BSEG TO IT_FINAL.
IF IT_BSEG-SHKZG = 'S'.
IT_FINAL-DMBTR = IT_FINAL-DMBTR * - 1.
IT_FINAL-WRBTR = IT_FINAL-WRBTR * - 1.
IT_FINAL-PSWBT = IT_FINAL-PSWBT * - 1.
ENDIF.
* IF IT_BSEG-PSWSL = 'JPY'.
*
* IT_FINAL-DMBTR = IT_FINAL-DMBTR / 100.
*
* ENDIF.
READ TABLE IT_BKPF WITH KEY BUKRS = PA_BUKRS
BELNR = IT_BSEG-BELNR
GJAHR = IT_BSEG-GJAHR.
MOVE IT_BKPF-BUDAT TO IT_FINAL-BUDAT.
READ TABLE IT_BSAS WITH KEY BELNR = IT_BSEG-BELNR
GJAHR = IT_BSEG-GJAHR.
MOVE IT_BSAS-WAERS TO IT_FINAL-WAERS.
* IF IT_BSAS-WAERS = 'JPY'.
*
* IT_FINAL-DMBTR = IT_FINAL-DMBTR / 100.
** IT_FINAL-WRBTR = IT_FINAL-WRBTR / 100.
*
* ENDIF.
IF IT_BKPF-AWTYP = 'MKPF'.
WK_MBLNR = IT_BKPF-AWKEY+0(10).
WK_MJAHR = IT_BKPF-AWKEY+10(4).
READ TABLE IT_MKPF WITH KEY MBLNR = WK_MBLNR
MJAHR = WK_MJAHR.
MOVE IT_MKPF-MBLNR TO IT_FINAL-MBLNR.
ELSEIF IT_BKPF-AWTYP = 'RMRP'.
READ TABLE IT_RSEG WITH KEY BELNR = IT_BKPF-AWKEY+0(10)
GJAHR = IT_BKPF-AWKEY+10(4)
MATNR = IT_BSEG-MATNR.
MOVE IT_RSEG-BELNR TO IT_FINAL-INVNO.
MOVE IT_RSEG-GJAHR TO IT_FINAL-INVYE.
READ TABLE IT_MKPF WITH KEY MBLNR = IT_RSEG-LFBNR
MJAHR = IT_RSEG-LFGJA.
ENDIF.
IF ( IT_BKPF-AWTYP = 'MKPF' OR IT_BKPF-AWTYP = 'RMRP' )
AND SY-SUBRC EQ 0.
MOVE-CORRESPONDING IT_MKPF TO IT_FINAL.
READ TABLE IT_QALS WITH KEY MBLNR = IT_MKPF-MBLNR.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING IT_QALS TO IT_FINAL.
ELSE.
MOVE 'N' TO IT_FINAL-STAT35.
ENDIF.
IT_FINAL-APQTY = IT_FINAL-MENGE - IT_FINAL-LMENGE04.
IF IT_QALS-PRUEFLOS NE ' '.
READ TABLE IT_QAVE WITH KEY PRUEFLOS = IT_QALS-PRUEFLOS.
MOVE IT_QAVE-VCODE TO IT_FINAL-VCODE.
ENDIF.
* Getting Excise Duty & Part 2 Serial No
AT END OF BELNR.
SELECT SINGLE DOCNO DOCYR INTO (WK_DOCNO, WK_DOCYR)
FROM J_1IPART1
WHERE MBLNR = IT_MKPF-MBLNR
AND MJAHR = IT_MKPF-MJAHR
AND MATNR = IT_FINAL-MATNR.
IF SY-SUBRC EQ 0 AND WK_DOCNO > 0.
SELECT SINGLE EXBED
INTO IT_FINAL-EXBED
FROM J_1IPART2
WHERE DOCNO = WK_DOCNO
AND DOCYR = WK_DOCYR.
IF SY-SUBRC NE 0.
WK_DOCNO = 0.
ENDIF.
IF IT_FINAL-DMBTR < 0.
IT_FINAL-EXBED = IT_FINAL-EXBED * -1.
ENDIF.
ENDIF.
ENDAT.
ENDIF.
MOVE WK_DOCNO TO IT_FINAL-DOCNO.
READ TABLE IT_EKKO WITH KEY EBELN = IT_BSEG-EBELN.
READ TABLE IT_LFA1 WITH KEY LIFNR = IT_EKKO-LIFNR.
IF SY-SUBRC EQ 0.
MOVE-CORRESPONDING IT_LFA1 TO IT_FINAL.
ENDIF.
READ TABLE IT_MAKT WITH KEY MATNR = IT_BSEG-MATNR.
IF SY-SUBRC EQ 0.
MOVE-CORRESPONDING IT_MAKT TO IT_FINAL.
ENDIF.
APPEND IT_FINAL TO IT_FINAL.
CLEAR IT_FINAL.
ENDLOOP.
SORT IT_FINAL BY LIFNR MATNR.
IF TAGG = 'X' OR UNTAGG = 'X'.
LOOP AT IT_FINAL WHERE INVNO EQ SPACE.
CALL FUNCTION 'ME_READ_HISTORY'
EXPORTING
EBELN = IT_FINAL-EBELN
EBELP = IT_FINAL-EBELP
WEBRE = 'X'
* I_BYPASSING_BUFFER =
* I_REFRESH_BUFFER =
TABLES
* XEKBE =
XEKBES = IT_EKBES.
* XEKBEZ =
* XEKBNK =
* XEKBZ =
READ TABLE IT_EKBES INDEX 1.
WK_STAT = IT_EKBES-WEMNG - IT_EKBES-REMNG.
IF WK_STAT <= 0.
MOVE 'X' TO IT_FINAL-STAT.
ENDIF.
MODIFY IT_FINAL.
CLEAR IT_FINAL.
WK_STAT = 0.
ENDLOOP.
ENDIF.
IF TAGG = 'X'.
LOOP AT IT_FINAL.
IF IT_FINAL-STAT NE 'X'.
IF IT_FINAL-INVNO EQ SPACE.
DELETE IT_FINAL.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
IF UNTAGG = 'X'.
LOOP AT IT_FINAL.
IF IT_FINAL-STAT EQ 'X' OR IT_FINAL-INVNO NE SPACE.
DELETE IT_FINAL.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. "GET_DATA
*&--------------------------------------------------------------------*
*& Form CALLBACK_UCOMM
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
* -->UCOMM text
* -->SELFIELD text
*---------------------------------------------------------------------*
FORM CALLBACK_UCOMM USING UCOMM LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
CASE SELFIELD-FIELDNAME.
WHEN 'BELNR'.
IF NOT SELFIELD-VALUE IS INITIAL.
READ TABLE IT_FINAL WITH KEY BELNR = SELFIELD-VALUE.
SET PARAMETER ID 'BUK' FIELD PA_BUKRS.
SET PARAMETER ID 'BLN' FIELD SELFIELD-VALUE.
SET PARAMETER ID 'GJR' FIELD IT_FINAL-GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
CLEAR UCOMM.
ENDIF.
WHEN 'MATNR'.
IF NOT SELFIELD-VALUE IS INITIAL.
SET PARAMETER ID 'MAT' FIELD SELFIELD-VALUE.
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
CLEAR UCOMM.
ENDIF.
WHEN 'EBELN'.
IF NOT SELFIELD-VALUE IS INITIAL.
SET PARAMETER ID 'BES' FIELD SELFIELD-VALUE.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
CLEAR UCOMM.
ENDIF.
WHEN 'LIFNR'.
IF NOT SELFIELD-VALUE IS INITIAL.
SET PARAMETER ID 'LIF' FIELD SELFIELD-VALUE.
CALL TRANSACTION 'XK03' AND SKIP FIRST SCREEN.
CLEAR UCOMM.
ENDIF.
WHEN 'MBLNR'.
IF NOT SELFIELD-VALUE IS INITIAL.
SET PARAMETER ID 'MBN' FIELD SELFIELD-VALUE.
SET PARAMETER ID 'MJA' FIELD PA_GJAHR.
CALL TRANSACTION 'MB03' AND SKIP FIRST SCREEN.
CLEAR UCOMM.
ENDIF.
WHEN 'INVNO'.
IF NOT SELFIELD-VALUE IS INITIAL.
SET PARAMETER ID 'RBN' FIELD SELFIELD-VALUE.
SET PARAMETER ID 'GJR' FIELD PA_GJAHR.
CALL TRANSACTION 'MIR4' AND SKIP FIRST SCREEN.
CLEAR UCOMM.
ENDIF.
WHEN OTHERS.
MESSAGE S007 WITH TEXT-005.
ENDCASE.
ENDFORM. "CALLBACK_UCOMM
Regards
Neha
2013 Mar 01 3:13 PM
Hi Neha A,
can you share where your getting dump?
Regards,
Gurunath kumar D
2013 Mar 01 3:27 PM
Hi,
When fieldcatlog calling...you would be able execute all standard program...
thanks
Neha
2013 Mar 01 3:28 PM
2013 Mar 01 3:31 PM
Hi Neha,
Please have a look at the above screen shot and try to analyze the program you will get the solution.
If not please let me know.
Regards
Dnyan
2013 Mar 01 6:55 PM
2013 Mar 04 9:36 AM
hi,
post the screenshot of the dump..
it ll be helpful to analyze the issue..
thanks,
Mathan R.
2013 Mar 06 6:34 AM
Hi Mathan,
It's interactive report when you click which carries tcode.. you would be able to access it was in 4.7 when it comes to 6.0 it's not working..
thanks
Neha
2013 Mar 07 6:44 AM
2013 Mar 07 8:08 AM
Hi Neha,
Please check the length of the fields in the internal tables IT_FINAL and IT_FIELDCAT_ALV. The dump clearly says that the Fieldcatalog internal table is of shorter length than what is getting passed.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = WK_REPID
I_INTERNAL_TABNAME = 'IT_FINAL'
I_INCLNAME = WK_REPID
CHANGING
CT_FIELDCAT = IT_FIELDCAT_ALV.
2013 Mar 07 8:38 AM
(ROFL) Neha tried to use REUSE_ALV_FIELDCATALOG_MERGE to get field catalog from an internal table definition, this old FM dates back to pre ECC, when source editor width was shorter.
So he should either
and then close the thread...
A reference where SAP had the same problem : Note 1122074 - Dump READ_REPORT_LINE_TOO_LONG CHECK_WIP_QUANTITY_STRUCTURE
Regards,
Raymond
2013 Mar 04 9:59 AM
Hi Neha,
Please check the length of the text-elements that your passing into seltext_l, seltext_m and seltext_s. In the above code you are passing the same text-element/field for all the 3 -long, medium and short texts.
The actual length each can take is
SELTEXT_L - 40 CHAR
SELTEXT_M - 20 CHAR
SELTEXT_S - 10 CHAR
Please provide screen shot of the dump so that we can help you!
2013 Mar 07 10:53 AM