‎2008 May 27 5:11 AM
Dump Msg
With ABAP/4 Open SQL array select, the output table is too small.
What happened?
Error in ABAP application program.
The current ABAP program "ZFLEXI" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
My logic is :
&----
*& Report : ZDLYDSPHNEW *
*& Purpose : Daily Godown dispatches with condition valu details *
&----
REPORT ZDLYDSPH NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 30(10)
MESSAGE-ID SK .
TYPE-POOLS: SLIS,ABAP.
CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
TABLES : VBRK, "Billing document header detail
VBRP, "Billing document item details
MAKT, "Material Description
BHDGD,
MARA, "Material Master
KNA1, "Customer Master Table
TSPA,
J_1IEXCHDR.
FIELD-SYMBOLS: <DYN_TABLE> TYPE STANDARD TABLE,
<DYN_WA>,
<DYN_FIELD>.
DATA: DY_TABLE TYPE REF TO DATA,
DY_LINE TYPE REF TO DATA,
XFC TYPE LVC_S_FCAT,
IFC TYPE LVC_T_FCAT,
DYN_TABLE TYPE STANDARD TABLE OF KOMG WITH HEADER LINE.
DATA: P_TABLE(30) TYPE C VALUE 'VBRK'.
Selection Screen Started
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B_1 WITH FRAME TITLE TEXT-010.
SELECT-OPTIONS : S_FKDAT FOR VBRK-FKDAT OBLIGATORY,
S_SPART FOR VBRK-SPART OBLIGATORY,
S_VBELN FOR VBRK-VBELN,
S_KUNAG FOR VBRK-KUNAG,
S_FKART FOR VBRK-FKART,
S_WERKS FOR VBRP-WERKS," obligatory,
S_VKBUR FOR VBRP-VKBUR,
S_VKORG FOR VBRK-VKORG OBLIGATORY,
S_VKGRP FOR VBRP-VKGRP, " sales group
S_RFBSK FOR VBRK-RFBSK OBLIGATORY DEFAULT 'C'.
SELECTION-SCREEN END OF BLOCK B_1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B_2 WITH FRAME TITLE TEXT-011.
PARAMETERS : P_VARI LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK B_2.
START-OF-SELECTION.
PERFORM GET_FIELDS.
PERFORM GET_STRUCTURE.
PERFORM NEW_DYNAMIC_TABLE.
PERFORM GET_OUTPUT_DATA.
PERFORM OUTPUT_WRITE.
PERFORM GENERATE_OUTPUT.
&----
*& Form NEW_DYNAMIC_TABLE
&----
text
----
--> p1 text
<-- p2 text
----
FORM NEW_DYNAMIC_TABLE .
Create dynamic internal table and assign to FS
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IFC
IMPORTING
EP_TABLE = DY_TABLE.
ASSIGN DY_TABLE->* TO <DYN_TABLE>.
Create dynamic work area and assign to FS
CREATE DATA DY_LINE LIKE LINE OF <DYN_TABLE>.
ASSIGN DY_LINE->* TO <DYN_WA>.
PERFORM ASSIGN_VALUES-SELECTED.
ENDFORM. " NEW_DYNAMIC_TABLE
&----
*& Form GENERATE_OUTPUT
&----
text
----
--> p1 text
<-- p2 text
----
FORM GENERATE_OUTPUT .
ENDFORM. " GENERATE_OUTPUT
&----
*& Form GET_BILLING_HEADER
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_BILLING_HEADER .
SELECT * INTO CORRESPONDING FIELDS OF TABLE I_VBRK
FROM VBRK
WHERE VBELN IN S_VBELN
AND FKART IN S_FKART
AND VKORG IN S_VKORG
AND FKDAT IN S_FKDAT
AND RFBSK IN S_RFBSK
AND KUNAG IN S_KUNAG
AND SPART IN S_SPART ORDER BY FKDAT.
LOOP AT I_VBRK.
ASSIGN I_VBRK TO <HEADER>.
ASSIGN I_VBRK TO <DATA_TAB>.
ASSIGN I_VBRK TO <F>.
*
CASE TITEL-FELDNAME.
WHEN OTHERS.
READ TABLE G_T_TEXTS_ALL
WITH KEY TABNAME = TITEL-TABNAME
FIELDNAME = TITEL-FIELD
INTO G_S_TEXT.
DATEN-DATEN = <HEADER>.
DATEN-DATEN = <DATAIN>.
MOVE-CORRESPONDING <HEADER> TO DATEN.
CLEAR DATEN-DATEN.
if titel-tabname+0(5) = 'VBRK'.
ASSIGN (TITEL-FELDNAME) TO <HEADER>.
DATEN-DATEN = <HEADER>.
ENDIF.
ENDCASE.
DATEN-ZEILE = ZEILE.
APPEND DATEN.
ENDLOOP.
ENDFORM. " GET_BILLING_HEADER
&----
*& Form GET_STRUCTURE
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_STRUCTURE .
DATA : IDETAILS TYPE ABAP_COMPDESCR_TAB,
XDETAILS TYPE ABAP_COMPDESCR.
DATA : REF_TABLE_DES TYPE REF TO CL_ABAP_STRUCTDESCR.
Get the structure of the table.
REF_TABLE_DES ?=
CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( P_TABLE ).
IDETAILS[] = REF_TABLE_DES->COMPONENTS.
LOOP AT IDETAILS INTO XDETAILS.
CLEAR XFC.
XFC-FIELDNAME = XDETAILS-NAME .
XFC-DATATYPE = XDETAILS-TYPE_KIND.
XFC-INTTYPE = XDETAILS-TYPE_KIND.
XFC-INTLEN = XDETAILS-LENGTH.
XFC-DECIMALS = XDETAILS-DECIMALS.
APPEND XFC TO IFC.
ENDLOOP.
ENDFORM. " GET_STRUCTURE
&----
*& Form GET_OUTPUT_DATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_OUTPUT_DATA .
Select Data from table.
SELECT * INTO TABLE <DYN_TABLE>
FROM ( VBRK )
WHERE VBELN IN S_VBELN
AND FKART IN S_FKART
AND VKORG IN S_VKORG
AND FKDAT IN S_FKDAT
AND RFBSK IN S_RFBSK
AND KUNAG IN S_KUNAG
AND SPART IN S_SPART ORDER BY FKDAT.
ENDFORM. " GET_OUTPUT_DATA
&----
*& Form OUTPUT_WRITE
&----
text
----
--> p1 text
<-- p2 text
----
FORM OUTPUT_WRITE .
LOOP AT <DYN_TABLE> INTO <DYN_WA>.
DO.
ASSIGN COMPONENT SY-INDEX
OF STRUCTURE <DYN_WA> TO <DYN_FIELD>.
IF SY-SUBRC EQ 0.
EXIT.
ENDIF.
IF SY-INDEX = 1.
WRITE:/ <DYN_FIELD>.
ELSE.
WRITE: <DYN_FIELD>.
ENDIF.
ENDDO.
ENDLOOP.
ENDFORM. " OUTPUT_WRITE
Edited by: ABHUT on May 27, 2008 11:34 AM
‎2008 May 27 7:23 AM
hi
i think better to put log of dump error then code , that describe error more.
‎2008 May 27 7:13 AM
Hi,
In this ,You are not declared the I_VBRK internal table.
So please check once.
Regards,
Shiva Kumar
‎2008 May 27 7:21 AM
Dump Msg
With ABAP/4 Open SQL array select, the output table is too small.
What happened?
Error in ABAP application program.
The current ABAP program "ZFLEXI" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
My logic is :
&----
*& Report : ZDLYDSPHNEW *
*& Purpose : Daily Godown dispatches with condition valu details *
&----
REPORT ZDLYDSPH NO STANDARD PAGE HEADING LINE-SIZE 255 LINE-COUNT 30(10)
MESSAGE-ID SK .
TYPE-POOLS: SLIS,ABAP.
CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
TABLES : VBRK, "Billing document header detail
VBRP, "Billing document item details
MAKT, "Material Description
BHDGD,
MARA, "Material Master
KNA1, "Customer Master Table
TSPA,
J_1IEXCHDR.
FIELD-SYMBOLS: <DYN_TABLE> TYPE STANDARD TABLE,
<DYN_WA>,
<DYN_FIELD>.
DATA: DY_TABLE TYPE REF TO DATA,
DY_LINE TYPE REF TO DATA,
XFC TYPE LVC_S_FCAT,
IFC TYPE LVC_T_FCAT,
DYN_TABLE TYPE STANDARD TABLE OF KOMG WITH HEADER LINE.
DATA: P_TABLE(30) TYPE C VALUE 'VBRK'.
Selection Screen Started
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B_1 WITH FRAME TITLE TEXT-010.
SELECT-OPTIONS : S_FKDAT FOR VBRK-FKDAT OBLIGATORY,
S_SPART FOR VBRK-SPART OBLIGATORY,
S_VBELN FOR VBRK-VBELN,
S_KUNAG FOR VBRK-KUNAG,
S_FKART FOR VBRK-FKART,
S_WERKS FOR VBRP-WERKS," obligatory,
S_VKBUR FOR VBRP-VKBUR,
S_VKORG FOR VBRK-VKORG OBLIGATORY,
S_VKGRP FOR VBRP-VKGRP, " sales group
S_RFBSK FOR VBRK-RFBSK OBLIGATORY DEFAULT 'C'.
SELECTION-SCREEN END OF BLOCK B_1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK B_2 WITH FRAME TITLE TEXT-011.
PARAMETERS : P_VARI LIKE DISVARIANT-VARIANT.
SELECTION-SCREEN END OF BLOCK B_2.
START-OF-SELECTION.
PERFORM GET_FIELDS.
PERFORM GET_STRUCTURE.
PERFORM NEW_DYNAMIC_TABLE.
PERFORM GET_OUTPUT_DATA.
PERFORM OUTPUT_WRITE.
PERFORM GENERATE_OUTPUT.
&----
*& Form NEW_DYNAMIC_TABLE
&----
text
-
--> p1 text
<-- p2 text
-
FORM NEW_DYNAMIC_TABLE .
Create dynamic internal table and assign to FS
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IFC
IMPORTING
EP_TABLE = DY_TABLE.
ASSIGN DY_TABLE->* TO <DYN_TABLE>.
Create dynamic work area and assign to FS
CREATE DATA DY_LINE LIKE LINE OF <DYN_TABLE>.
ASSIGN DY_LINE->* TO <DYN_WA>.
PERFORM ASSIGN_VALUES-SELECTED.
ENDFORM. " NEW_DYNAMIC_TABLE
&----
*& Form GENERATE_OUTPUT
&----
text
-
--> p1 text
<-- p2 text
-
FORM GENERATE_OUTPUT .
ENDFORM. " GENERATE_OUTPUT
&----
*& Form GET_STRUCTURE
&----
text
-
--> p1 text
<-- p2 text
-
FORM GET_STRUCTURE .
DATA : IDETAILS TYPE ABAP_COMPDESCR_TAB,
XDETAILS TYPE ABAP_COMPDESCR.
DATA : REF_TABLE_DES TYPE REF TO CL_ABAP_STRUCTDESCR.
Get the structure of the table.
REF_TABLE_DES ?=
CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( P_TABLE ).
IDETAILS[] = REF_TABLE_DES->COMPONENTS.
LOOP AT IDETAILS INTO XDETAILS.
CLEAR XFC.
XFC-FIELDNAME = XDETAILS-NAME .
XFC-DATATYPE = XDETAILS-TYPE_KIND.
XFC-INTTYPE = XDETAILS-TYPE_KIND.
XFC-INTLEN = XDETAILS-LENGTH.
XFC-DECIMALS = XDETAILS-DECIMALS.
APPEND XFC TO IFC.
ENDLOOP.
ENDFORM. " GET_STRUCTURE
&----
*& Form GET_OUTPUT_DATA
&----
text
-
--> p1 text
<-- p2 text
-
FORM GET_OUTPUT_DATA .
Select Data from table.
SELECT * INTO TABLE <DYN_TABLE>
FROM ( VBRK )
WHERE VBELN IN S_VBELN
AND FKART IN S_FKART
AND VKORG IN S_VKORG
AND FKDAT IN S_FKDAT
AND RFBSK IN S_RFBSK
AND KUNAG IN S_KUNAG
AND SPART IN S_SPART ORDER BY FKDAT.
ENDFORM. " GET_OUTPUT_DATA
&----
*& Form OUTPUT_WRITE
&----
text
-
--> p1 text
<-- p2 text
-
FORM OUTPUT_WRITE .
LOOP AT <DYN_TABLE> INTO <DYN_WA>.
DO.
ASSIGN COMPONENT SY-INDEX
OF STRUCTURE <DYN_WA> TO <DYN_FIELD>.
IF SY-SUBRC EQ 0.
EXIT.
ENDIF.
IF SY-INDEX = 1.
WRITE:/ <DYN_FIELD>.
ELSE.
WRITE: <DYN_FIELD>.
ENDIF.
ENDDO.
ENDLOOP.
ENDFORM. " OUTPUT_WRITE
Edited by: ABHUT on May 27, 2008 11:34 AM
‎2008 May 27 7:23 AM
hi
i think better to put log of dump error then code , that describe error more.
‎2008 May 27 7:27 AM
Dump Msg i have given at top.
Dump Msg
With ABAP/4 Open SQL array select, the output table is too small.
What happened?
Error in ABAP application program.
The current ABAP program "ZFLEXI" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.