Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Dynamic table error

Former Member
0 Likes
623

&----


*& *

*& 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.

DATA: TAB TYPE REF TO CL_ABAP_STRUCTDESCR,

WA_TAB TYPE REF TO CL_ABAP_STRUCTDESCR,

I_TAB TYPE REF TO CL_ABAP_TABLEDESCR,

I_TABLE TYPE REF TO DATA.

DATA: L_PROGRAM_NAME TYPE SYREPID VALUE SY-REPID,

L_STRUCTURE_NAME TYPE TABNAME,

L_I_CT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA: BEGIN OF FIELDTAB OCCURS 50,

FELDNAME LIKE DYNPREAD-FIELDNAME,

FIELDTEXT LIKE DNTAB-FIELDTEXT,

END OF FIELDTAB.

DATA: BEGIN OF CHOICE_TAB_IN OCCURS 50,

FIELDTEXT LIKE DNTAB-FIELDTEXT, "Position 1

FIELDNAME LIKE DYNPREAD-FIELDNAME,

TABNAME LIKE DNTAB-TABNAME,

FIELD LIKE DNTAB-FIELDNAME,

END OF CHOICE_TAB_IN.

FIELD-SYMBOLS: <DATAIN> TYPE ANY,

<HEADER> TYPE ANY,

<F> TYPE ANY.

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: DATA_TAB LIKE ZHRDATATAB OCCURS 20 WITH HEADER LINE.

DATA: BEGIN OF DATEN OCCURS 100,

ZEILE TYPE I,

STELLE TYPE I,

DATEN LIKE HRDATATAB-LANGTEXT1,

END OF DATEN.

DATA: BEGIN OF TITEL OCCURS 20,

STELLE TYPE I,

FELDNAME LIKE DYNPREAD-FIELDNAME,

LANGTEXT LIKE HRDATATAB-LANGTEXT1,

TABNAME LIKE DNTAB-TABNAME,

FIELD LIKE DNTAB-FIELDNAME,

END OF TITEL.

DATA : STELLE TYPE I.

DATA: ZEILE TYPE I.

*vibhuti

DATA: IT_COLOR TYPE LVC_S_SCOL." with header line.

DATA: MY_TABIX LIKE SY-TABIX.

DATA: I_VBRK LIKE VBRK OCCURS 0 WITH HEADER LINE.

DATA: G_CL_TEXT TYPE REF TO CL_HR_TEXT_IDENTIFIER,

G_T_TEXTINFO_INFTY TYPE TXID_T_TEXT_IDENTIFIER_RESULT,

G_T_TEXTINFO_ALL TYPE TXID_T_TEXT_IDENTIFIER_RESULT,

G_T_TEXTFIELDS_INFTY TYPE TTFIELDNAME,

G_T_TEXTS_INFTY TYPE TXID_T_TEXT_IDENTIFIER_RESULT,

G_T_TEXTS_ALL TYPE TXID_T_TEXT_IDENTIFIER_RESULT,

G_S_TEXTINFO TYPE TXID_S_TEXT_IDENTIFIER_RESULT,

G_S_TEXT TYPE TXID_S_TEXT_IDENTIFIER_RESULT,

G_T_SPECIALS TYPE TFIELDVAL,

G_S_SPECIALS TYPE SFIELDVAL.

DATA : G_T_TEXTFIELDS TYPE TTFIELDNAME.

        • 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 NEW_DYNAMIC_TABLE.

PERFORM GENERATE_OUTPUT.

&----


*& Form NEW_DYNAMIC_TABLE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM NEW_DYNAMIC_TABLE .

SORT CHOICE_TAB_IN BY FIELDTEXT AS TEXT ASCENDING.

DESCRIBE TABLE CHOICE_TAB_IN LINES SY-TFILL.

LOOP AT CHOICE_TAB_IN.

MY_TABIX = SY-TABIX.

TITEL-FELDNAME = CHOICE_TAB_IN-FIELDNAME.

TITEL-LANGTEXT = CHOICE_TAB_IN-FIELDTEXT.

TITEL-TABNAME = CHOICE_TAB_IN-TABNAME.

TITEL-FIELD = CHOICE_TAB_IN-FIELD.

TITEL-STELLE = STELLE.

APPEND TITEL.

STELLE = STELLE + 1.

ENDLOOP.

LOOP AT TITEL.

APPEND TITEL-FIELD TO G_T_TEXTFIELDS.

ENDLOOP.

LOOP AT TITEL.

MOVE-CORRESPONDING TITEL TO DATEN.

CLEAR DATEN-DATEN.

ASSIGN (TITEL-FELDNAME) TO <DATAIN>.

PERFORM GET_BILLING_HEADER.

ENDLOOP.

  • data : IFC TYPE LVC_T_FCAT.

  • APPEND titel TO IFC.

*

    • 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 GET_FIELDS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_FIELDS .

FIELDTAB-FELDNAME = 'VBRK-VBELN'.

FIELDTAB-FIELDTEXT = 'Billing Doc.'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'VBRK'.

CHOICE_TAB_IN-FIELD = 'VBELN'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'VBRK-FKART'.

FIELDTAB-FIELDTEXT = 'Billing Type'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'VBRK'.

CHOICE_TAB_IN-FIELD = 'FKART'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'VBRK-VBTYP'.

FIELDTAB-FIELDTEXT = 'Doc. Type'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'VBRK'.

CHOICE_TAB_IN-FIELD = 'VBTYP'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'VBRK-KNUMV'.

FIELDTAB-FIELDTEXT = 'Doc. Condition'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'VBRK'.

CHOICE_TAB_IN-FIELD = 'KNUMV'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'VBRK-FKDAT'.

FIELDTAB-FIELDTEXT = 'Billing Date'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'VBRK'.

CHOICE_TAB_IN-FIELD = 'FKDAT'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'VBRK-KUNRG'.

FIELDTAB-FIELDTEXT = 'Payer'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'VBRK'.

CHOICE_TAB_IN-FIELD = 'KUNRG'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'VBRK-KUNAG'.

FIELDTAB-FIELDTEXT = 'Sold-to party'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'VBRK'.

CHOICE_TAB_IN-FIELD = 'KUNAG'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'VBRK-SFAKN'.

FIELDTAB-FIELDTEXT = 'Cancel Billing Doc.'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'VBRK'.

CHOICE_TAB_IN-FIELD = 'SFAKN'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'VBRK-FKSTO'.

FIELDTAB-FIELDTEXT = 'Billing Doc. Cust No.'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'VBRK'.

CHOICE_TAB_IN-FIELD = 'FKSTO'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'VBRP-MATNR'.

FIELDTAB-FIELDTEXT = 'Material No.'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'VBRP'.

CHOICE_TAB_IN-FIELD = 'MATNR'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'J_1IEXCDTL-EXNUM'.

FIELDTAB-FIELDTEXT = 'Excise Invoice'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'J_1IEXCDTL'.

CHOICE_TAB_IN-FIELD = 'EXNUM'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'KONV-KSCHL'.

FIELDTAB-FIELDTEXT = 'TAX'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'KONV'.

CHOICE_TAB_IN-FIELD = 'KSCHL'.

APPEND CHOICE_TAB_IN.

FIELDTAB-FELDNAME = 'KONV-KWERT'.

FIELDTAB-FIELDTEXT = 'PRICE'.

APPEND FIELDTAB.

CHOICE_TAB_IN-FIELDTEXT = FIELDTAB-FIELDTEXT.

CHOICE_TAB_IN-FIELDNAME = FIELDTAB-FELDNAME.

CHOICE_TAB_IN-TABNAME = 'KONV'.

CHOICE_TAB_IN-FIELD = 'KWERT'.

APPEND CHOICE_TAB_IN.

ENDFORM. " GET_FIELDS

&----


*& 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 VBRK.

ASSIGN I_VBRK TO <HEADER>.

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 TITEL TO DATEN.

CLEAR DATEN-DATEN.

ASSIGN (TITEL-FELDNAME) TO <HEADER>.

DATEN-DATEN = <HEADER>.

ENDCASE.

DATEN-ZEILE = ZEILE.

APPEND DATEN.

ENDLOOP.

ENDFORM. " GET_BILLING_HEADER

This is not properly working.Culd u suggest wht can be the reason

1 ACCEPTED SOLUTION
Read only

athavanraja
Active Contributor
0 Likes
580

What do you mean by not working properly? whats the exact problem?

3 REPLIES 3
Read only

Former Member
0 Likes
580

Hi,

Do you get a short dump If so , just paste the short here!

Regards

Naren

Read only

athavanraja
Active Contributor
0 Likes
581

What do you mean by not working properly? whats the exact problem?

Read only

0 Likes
580

LOOP AT i_VBRK.

ASSIGN I_VBRK TO <HEADER>.

CASE TITEL-FELDNAME.

WHEN OTHERS.

MOVE-CORRESPONDING TITEL TO DATEN.

CLEAR DATEN-DATEN.

ASSIGN (TITEL-FELDNAME) TO <HEADER>.

DATEN-DATEN = <HEADER>.

ENDCASE.

DATEN-ZEILE = ZEILE.

APPEND DATEN.

ENDLOOP.

WHEN I'M ASSIGING VALUES TO MY <HEADER> VALUES ARE COMING BLANK.

how to assign values