Application Development 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: 

Field symbol has not yet been assigned. ???

Former Member
0 Kudos

Dear Experts ,

W hen i tried to execute my program this error appears :

Short text

Field symbol has not yet been assigned.

What happened?

Error in the ABAP Application Program

The current ABAP program "SAPLSLVC" had to be terminated because it has

come across a statement that unfortunately cannot be executed.

Error analysis

You attempted to access an unassigned field symbol

(data segment 32821).

This error may occur if

- You address a typed field symbol before it has been set with

ASSIGN

- You address a field symbol that pointed to the line of an

internal table that was deleted

- You address a field symbol that was previously reset using

UNASSIGN or that pointed to a local field that no

longer exists

- You address a global function interface, although the

respective function module is not active - that is, is

not in the list of active calls. The list of active calls

can be taken from this short dump.

and Here is my CODE :

...


*&---------------------------------------------------------------------*
*& Report  ZPO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

Report  ZPO1.
type-pools slis.

  PARAMETERS : PO_Doc like EKBE-EBELN DEFAULT '4800000007'.
  PARAMETERS : Plant TYPE WERKS DEFAULT '1000'.
  PARAMETERS : PO_ORG TYPE EKORG DEFAULT ''.

  data TtlS type mara-wesch .
  data TtlH type mara-wesch .
  data Ttl type mara-wesch .
  data ZEKBE type TABLE OF EKBE.
  data ZEKBER type EKBE.
  data ZEKPO type TABLE OF EKPO.
  data ZEKPOR type EKPO.
  data ZEKKOR TYPE EKKO.
  data ZNAME1F type LFA1-LIFNR.
  data ZWGBEZF TYPE T023T-WGBEZ.
  data i type n.
  data counter type n.


types : begin of SBAGDS,
  Serial Type n, "Purchase Order
  EBELN like EKKO-EBELN, "Purchase Order
  MATNR like EKPO-MATNR, "Material
  TXZ01 like EKPO-TXZ01, "Short Text
  MATKL like EKPO-MATKL, "Material Group
  WGBEZ like T023T-WGBEZ, "Material Group Desc"
  SUBMI like EKKO-SUBMI, "GPM
  CHARG like EKBE-CHARG, "Batch
  LIFNR like EKKO-LIFNR, "Vendor
  NAME1 like LFA1-NAME1, "Vendor Name
  RECV like mara-wesch, "Received Quantity
  REVR like mara-wesch, "Reversed Quantity
  DELV like mara-wesch, "Delivered Quantity
end of SBAGDS .

DATA : BAGDS TYPE SBAGDS OCCURS 0 WITH HEADER LINE.
data Struc like BAGDS.
data: gr_table like BAGDS OCCURS 0 WITH HEADER LINE.
data: gt_fieldcat type slis_t_fieldcat_alv, gt_outtab type SBAGDS occurs 0 with header line.

INITIALIZATION.
i = 0.
counter = 0 .

perform field_cat_init using gt_fieldcat[].
FORM field_cat_init using rt_fieldcat type slis_t_fieldcat_alv.
 data: ls_fieldcat type slis_fieldcat_alv,
         pos type i value 1.
 clear LS_FIELDCAT.
*Column 1
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'Serial'.
 ls_fieldcat-SELTEXT_L      = 'Serial'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 2
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'EBELN'.
 ls_fieldcat-SELTEXT_L      = 'Purchase Order'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 3
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'MATNR'.
 ls_fieldcat-SELTEXT_L      = 'Material'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 4
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'TXZ01'.
 ls_fieldcat-SELTEXT_L      = 'Short Text'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 5
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'MATKL'.
 ls_fieldcat-SELTEXT_L      = 'Material Group'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 6
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'WGBEZ'.
 ls_fieldcat-SELTEXT_L      = 'Material Group Desc'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 7
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'SUBMI'.
 ls_fieldcat-SELTEXT_L      = 'GPM'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 8
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'CHARG'.
 ls_fieldcat-SELTEXT_L      = 'Batch'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 9
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'LIFNR'.
 ls_fieldcat-SELTEXT_L      = 'Vendor'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 10
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'NAME1'.
 ls_fieldcat-SELTEXT_L      = 'Vendor Name'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 11
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'RECV'.
 ls_fieldcat-SELTEXT_L      = 'Received Quantity'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 12
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'REVR'.
 ls_fieldcat-SELTEXT_L      = 'Reversed Quantity'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.
*Column 13
 ls_fieldcat-col_pos           = pos.
 ls_fieldcat-fieldname        = 'DELV'.
 ls_fieldcat-SELTEXT_L      = 'Delivered Quantity'.
 ls_fieldcat-DDICTXT          = 'L'.
 append ls_fieldcat to rt_fieldcat.
 clear ls_fieldcat.
 pos = pos + 1.

endform.

START-OF-SELECTION.
       select SINGLE * from EKKO into ZEKKOR where EBELN = PO_DOC.
       select SINGLE * from EKPO into ZEKPOR where EBELN = PO_DOC.

       select SINGLE NAME1 from LFA1 into ZNAME1F where LIFNR = ZEKKOR-LIFNR.
*         ' Buliding Structure
          Struc-EBELN = ZEKPOR-EBELN.
          Struc-SUBMI = ZEKKOR-SUBMI.
          Struc-LIFNR = ZEKKOR-LIFNR.
          Struc-Name1 = ZNAME1F.

       select * from EKPO into TABLE ZEKPO where EBELN = PO_Doc and WERKS = plant.

       LOOP at ZEKPO into ZEKPOR.
           select SINGLE WGBEZ from T023T into ZWGBEZF  WHERE MATKL = ZEKPOR-MATKL .
           counter = counter + 1.
*         ' Buliding Structure
          Struc-Serial = counter.
          Struc-MATNR = ZEKPOR-MATNR.
          Struc-TXZ01 = ZEKPOR-TXZ01.
          Struc-MATKL = ZEKPOR-MATKL.
          Struc-WGBEZ = ZWGBEZF.

*          Calcualting Debit transactions from PO History
           select * from EKBE into table ZEKBE where EBELN = PO_Doc and MATNR = ZEKPOR-MATNR and  EBELP = ZEKPOR-EBELP and BWART NOT LIKE '' and SHKZG = 'S'.
           LOOP AT ZEKBE INTO ZEKBER.
               TtlS = TtlS + ZEKBER-MENGE.
           ENDLOOP.

*          ' Buliding Structure
           Struc-CHARG = ZEKBER-CHARG.
           Struc-RECV = TtlS.

           Ttl = TtlS.
           clear TtlS.

*         Calcualting Credit transactions from PO History
         select * from EKBE into table ZEKBE where EBELN = PO_Doc and MATNR = ZEKPOR-MATNR and  EBELP = ZEKPOR-EBELP and BWART NOT LIKE '' and SHKZG = 'H'.
           LOOP AT ZEKBE INTO ZEKBER.
               TtlH = TtlH + ZEKBER-MENGE.
           ENDLOOP.
*          ' Buliding Structure
           Struc-REVR = TtlH.

*          Calculating Total Delivered
           Ttl = Ttl - TtlH.
           clear TtlH.
*          ' Buliding Structure
           Struc-DELV = Ttl.
           clear Ttl.

*      Writtng ITAB
       APPEND Struc to BAGDS.

       ENDLOOP.


*      Reading ITAB
*       WRITE : / , 'ITAB Begin : '    .
*       loop at  BAGDS into Struc.
*         counter = counter + 1.
*         write : /,'Serial : ',counter.
*         write : / ,'PO : ',Struc-EBELN.
*         write : / ,'Vendor : ',Struc-LIFNR.
*         write : / ,'Vendor Name : ',Struc-NAME1.
*         write : / ,'Material : ',Struc-MATNR.
*         write : /,'Short Text: ',Struc-TXZ01.
*         write : / ,'Model : ',Struc-MATKL.
*         write : / ,'Model Desc : ',Struc-WGBEZ.
*         write : /,'GPM : ',Struc-SUBMI.
*         write : /,'Lot : ',Struc-CHARG.
*         write : /,'Received : ',Struc-RECV.
*         write : /,'Reversed : ',Struc-REVR.
*         write : /,'Delivered : ',Struc-DELV,/,/,/.
*       ENDLOOP.

* Call ALV Grid Viewer
*BREAK-POINT.
gr_Table[] = BAGDS[].


   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
             I_STRUCTURE_NAME   = 'SBAGDS'
             IT_FIELDCAT          = gt_fieldcat[]
        TABLES
             T_OUTTAB                  = gr_Table.

Please Advise

Edited by: Sap Sap on Jul 27, 2009 12:18 PM

Edited by: Sap Sap on Jul 27, 2009 12:22 PM

Edited by: Sap Sap on Jul 27, 2009 12:22 PM

1 ACCEPTED SOLUTION

former_member555112
Active Contributor

Hi,

The problem seems to be in your ALV grid display.

The reason must be your field catalog.

Just check your fieldcatalog.

The value in the fieldname field of the fieldcatalog should be same as the fieldname in your internal table and should be in capital letters.

Probably you must have mistyped some field.

Kinldy check.

Regards,

Ankur Parab

3 REPLIES 3

former_member555112
Active Contributor

Hi,

The problem seems to be in your ALV grid display.

The reason must be your field catalog.

Just check your fieldcatalog.

The value in the fieldname field of the fieldcatalog should be same as the fieldname in your internal table and should be in capital letters.

Probably you must have mistyped some field.

Kinldy check.

Regards,

Ankur Parab

0 Kudos

Hi,

Check sy-subrc = 0 after your filed symbol assigning statement.

Thanks.

Former Member
0 Kudos

You are right I Have to make it in CAPITAL Letter

Thanks alot