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

no field catalog found error

Former Member
0 Likes
1,005

in alv grid display ,cant we use REUSE_ALV_FIELDCATALOG_MERGE if the o/p internal table is formed by joining 2 or more tables.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
981

yes we can use..

in alv grid display ,cant we use REUSE_ALV_FIELDCATALOG_MERGE if the o/p internal table is formed by joining 2 or more tables.

7 REPLIES 7
Read only

Former Member
0 Likes
982

yes we can use..

Read only

Former Member
0 Likes
981

hi,

if u use the merge,

give the structure name in within quotes in capital letters

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

  • EXPORTING

  • I_PROGRAM_NAME = sy-repid

  • I_INTERNAL_TABNAME =

  • I_STRUCTURE_NAME = ' capital leteres'

  • I_CLIENT_NEVER_DISPLAY = 'X'

  • I_INCLNAME = 'capital leteers'---strucyure name

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

ct_fieldcat =

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

regards

karthik

rewrads points if useful

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

Read only

Former Member
0 Likes
981

Pass the output internal table name to the FM.

Read only

Former Member
0 Likes
981

Hi

U can use REUSE_ALV_FIELDCATALOG_MERGE for any internal table.

If u r gettin the error 'no field catalog found' try passing the program name in the exporting parameter INCLUDE_NAME.

Refer the foll code:

&----


*& Report ZALV *

*& *

&----


*& *

*& *

&----


REPORT zalv .

TYPE-POOLS SLIS.

TABLES: vbrk,

vbrp,

likp,

lips,

vbak,

vbap.

DATA: FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA: BEGIN OF tbl_inv OCCURS 10,

vbeln LIKE vbrk-vbeln,

erdat LIKE vbrk-erdat,

kunnr LIKE vbrk-kunrg,

sfakn LIKE vbrk-sfakn,

xblnr LIKE vbrk-xblnr,

posnr LIKE vbrp-posnr,

vgbel LIKE vbrp-vgbel,

vgpos LIKE vbrp-vgpos,

aubel LIKE vbrp-aubel,

aupos LIKE vbrp-aupos,

matnr LIKE vbrp-matnr,

arktx LIKE vbrp-arktx,

werks LIKE vbrp-werks,

END OF tbl_inv,

BEGIN OF tbl_sales OCCURS 10,

vbeln LIKE vbak-vbeln,

erdat LIKE vbak-erdat,

kunnr LIKE vbak-kunnr,

posnr LIKE vbap-posnr,

kwmeng LIKE vbap-kwmeng,

END OF tbl_sales,

BEGIN OF tbl_lips OCCURS 10,

vbeln LIKE lips-vbeln,

posnr LIKE lips-posnr,

lfimg LIKE lips-lfimg,

meins LIKE lips-meins,

END OF tbl_lips.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS s_werks FOR vbrp-werks OBLIGATORY.

PARAMETERS p_vkorg LIKE vbrk-vkorg OBLIGATORY. "Sales Organisation

SELECT-OPTIONS : s_vtweg FOR vbrk-vtweg,

"Distribution channel

s_spart FOR vbrk-spart, "Division

s_erdat FOR vbrk-erdat OBLIGATORY.

SELECTION-SCREEN END OF BLOCK b1.

IF s_vtweg IS INITIAL AND s_spart IS INITIAL.

SELECT p~vbeln

p~erdat

p~kunrg

p~sfakn

p~xblnr

q~posnr

q~vgbel

q~vgpos

q~aubel

q~aupos

q~matnr

q~arktx

q~werks

iNTO TABLE tbl_inv

FROM vbrk AS p

JOIN vbrp AS q

ON pvbeln = qvbeln

WHERE p~erdat IN s_erdat

AND p~vkorg = p_vkorg.

ELSEIF s_vtweg IS INITIAL.

SELECT p~vbeln

p~erdat

p~kunrg

p~sfakn

p~xblnr

q~posnr

q~vgbel

q~vgpos

q~aubel

q~aupos

q~matnr

q~arktx

q~werks

INTO TABLE tbl_inv

FROM vbrk AS p

JOIN vbrp AS q

ON pvbeln = qvbeln

WHERE p~erdat IN s_erdat

AND p~vkorg = p_vkorg

AND p~spart IN s_spart.

ELSEIF s_spart IS INITIAL.

SELECT p~vbeln

p~erdat

p~kunrg

p~sfakn

p~xblnr

q~posnr

q~vgbel

q~vgpos

q~aubel

q~aupos

q~matnr

q~arktx

q~werks

INTO TABLE tbl_inv

FROM vbrk AS p

JOIN vbrp AS q

ON pvbeln = qvbeln

WHERE p~erdat IN s_erdat

AND p~vkorg = p_vkorg

AND p~vtweg IN s_vtweg.

ELSE.

SELECT p~vbeln

p~erdat

p~kunrg

p~sfakn

p~xblnr

q~posnr

q~vgbel

q~vgpos

q~aubel

q~aupos

q~matnr

q~arktx

q~werks

INTO TABLE tbl_inv

FROM vbrk AS p

JOIN vbrp AS q

ON pvbeln = qvbeln

WHERE p~erdat IN s_erdat

AND p~vkorg = p_vkorg

AND p~vtweg IN s_vtweg

AND p~spart IN s_spart.

ENDIF.

WRITE 'Number of entries:'.

DESCRIBE TABLE tbl_lips LINES sy-tfill.

WRITE sy-tfill.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = 'ZALV'

I_INTERNAL_TABNAME = 'TBL_INV'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = 'ZALV'

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

ct_fieldcat = FIELDCAT

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = 'ZALV_68416'

TABLES

t_outtab = tbl_inv

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

Message was edited by:

Vasudha L

Read only

Former Member
0 Likes
981

Hi

In your case u have not defined fieldcatalog and we have to give that fieldcatalog name in FM REUSE_ALV_FIELDCATALOG_MERGE.

data FCAT type it_fieldcat type slis_t_fieldcat_alv.

Use FCAT In the FM.

Reward if useful.

Regards

Shibin

Read only

Former Member
0 Likes
981

Hi,

Yes it is possible to give the output internal table which is formed by two tables.

Pass the Internal table with all field to FM.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
      i_structure_name       = 'GT_FX_ENTRIES'
    CHANGING
      ct_fieldcat            = gt_fieldcat
    EXCEPTIONS
      inconsistent_interface = 1
      program_error          = 2
      OTHERS                 = 3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

Thanks,

Sriram Ponna.

Read only

hymavathi_oruganti
Active Contributor
0 Likes
981

hi sindhuri,

one thing u should take care is that whole using fieldcatalog merge,

the structure name and internal table name what ever u r passing it should be in the same case as that of declaration . better both in caps.