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

urgent help need

Former Member
0 Likes
1,000

hi friends,

Help me how to do this

REPORT ZINTERFACE_SAMPLE.

type-pools:SLIS.

TABLES:knb1, "Customer Master (Company Code)

kna1,

knvp. "Customer Master Partner Functions

TYPES:BEGIN OF T_knb1,

kunnr like knb1-kunnr,

bukrs like knb1-bukrs,

akont like knb1-akont,

END OF T_knb1.

TYPES:BEGIN OF T_kna1,

kunnr like kna1-kunnr, "customer number

NAME1 like KNA1-NAME1, "customer name

stras like KNA1-STRAS, "Customer address

ort01 like KNA1-ORT01, "Customer city

stcd1 like KNA1-STCD1, "Tax id

pstlz like KNA1-PSTLZ, "Postal code

END OF T_kna1.

TYPES:BEGIN OF T_knvp,

kunnr like knvp-kunnr, "customer number

parvw like knvp-parvw,

kunn2 like knvp-kunn2, "Customer number of business partner

END OF T_KNVP.

TYPES:BEGIN OF T_final,

Record_type TYPE c,

Sold_to_cust(10) TYPE c,

Payer(10) TYPE c,

Sequence(5) TYPE n,

Cust_name(35) TYPE c,

Cust_adreess(35) TYPE c,

Cust_city(35) TYPE c,

Tax_id(16) TYPE c,

Postal_code(5) TYPE c,

Branch TYPE c,

Delivery(3) TYPE c,

END OF T_final.

*Internal table declaration

DATA:I_knb1 TYPE STANDARD TABLE OF t_knb1 initial size 0,

i_kna1 TYPE STANDARD TABLE OF t_kna1 initial size 0,

i_knvp TYPE STANDARD TABLE OF t_knvp initial size 0,

i_final TYPE STANDARD TABLE OF t_final initial size 0.

DATA: t_fieldcat_tab TYPE slis_t_fieldcat_alv WITH HEADER LINE.

*Work area declaration

DATA:wa_knb1 TYPE t_knb1,

wa_kna1 TYPE t_kna1,

wa_knvp TYPE t_knvp,

wa_final TYPE t_final.

----


  • *variable declaration

----


data:sequence TYPe n,

g_line TYPE i.

----


  • selection screen *

----


SELECTION-screen begin of block b1 with frame title text-001.

parameters:p_bukrs like knb1-bukrs, "Company code

p_akont like knb1-akont .

selection-screen end of block b1.

SELECTION-screen begin of block b2 with frame title text-002.

PARAMETERS:R1 RADIOBUTTON GROUP G1,

R2 RADIOBUTTON GROUP G1.

Parameters:p_file like rlgrap-filename.

"Recon Account in General Ledger

selection-screen end of block b2.

*AT selection-screen ON VALUE-REQUEST FOR P_FILE.

  • CALL FUNCTION 'F4_FILENAME'

  • IMPORTING

  • FILE_NAME = P_FILE.

START-OF-selection.

PERFORM f_fetchdata.

PERFORM f_prepare_fieldcat.

PERFORM f_display_report.

*END-OF-SELECTION.

*IF R1 EQ 'X'.

*perform F_DOWNLOAD.

*ENDIF.

*IF R2 EQ 'X'.

*OPEN DATASET P_FILE FOR OUTPUT IN text mode ENCODING DEFAULT.

*LOOP AT i_final INTO WA_final.

*TRANSFER WA_final TO P_FILE.

*ENDLOOP.

*CLOSE DATASET P_FILE.

*ENDIF.

&----


*& Form f_fetchdata

&----


FORM f_fetchdata .

select kunnr

bukrs

akont

from knb1

into table i_knb1

where bukrs = p_bukrs

AND akont = p_akont.

DESCRIBE TABLE i_knb1 LINES g_line.

LOOP AT i_knb1 INTO wa_knb1.

SELECT single KUNNR

NAME1

STRAS

ORT01

STCD1

PSTLZ

FROM kna1

INTO wa_kna1

where kunnr = wa_knb1-kunnr.

if sy-subrc <> 0.

*Error KNA1 record not found.

endif.

SELECT single kunnr

parvw

kunn2

FROM KNVP

INTO wa_knvp

where kunnr = wa_knb1-kunnr

AND parvw = 'RG'.

if sy-subrc <> 0.

*Error KNA1 record not found.

endif.

sequence = sequence + 1.

MOVE: 'c' TO wa_final-Record_type,

wa_knvp-kunnr TO wa_final-Sold_to_cust,

sequence TO wa_final-Sequence,

wa_KNA1-NAME1 TO wa_final-Cust_name,

wa_kna1-STRAS TO wa_final-Cust_adreess ,

wa_kna1-ort01 TO wa_final-Cust_city,

wa_kna1-STCD1 TO wa_final-Tax_id,

wa_kna1-PSTLZ TO wa_final-Postal_code,

'1' TO wa_final-branch,

'abc' TO wa_final-Delivery.

INSERT wa_final INTO TABLE i_final.

endloop.

ENDFORM. " f_fetchdata

FORM f_prepare_fieldcat.

t_fieldcat_tab-col_pos = 1.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Record_type'.

t_fieldcat_tab-seltext_l = 'Record type'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 2.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Sold_to_cust'.

t_fieldcat_tab-seltext_l = 'Sold to cust'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 3.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'payer'.

t_fieldcat_tab-seltext_l = 'Payer'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 4.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Sequence'.

t_fieldcat_tab-seltext_l = 'sequence'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 5.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Cust_name'.

t_fieldcat_tab-seltext_l = 'Cust name'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 6.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Cust_adreess'.

t_fieldcat_tab-seltext_l = 'Cust adreess'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 7.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Cust_city'.

t_fieldcat_tab-seltext_l = 'Cust city'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 8.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Tax_id'.

t_fieldcat_tab-seltext_l = 'Tax id'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 9.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Postal_code'.

t_fieldcat_tab-seltext_l = 'Postal code'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 10.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Branch'.

t_fieldcat_tab-seltext_l = 'Branch'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 11.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'KWMENG'.

t_fieldcat_tab-seltext_l = 'Order Qty'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 12.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Delivery'.

t_fieldcat_tab-seltext_l = 'Delivery'.

APPEND t_fieldcat_tab.

ENDFORM. " f_prepare_fieldcat

&----


*& Form f_display_report

&----


*To display the ALV Report

FORM f_display_report.

DATA: l_repid LIKE sy-repid.

l_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = l_repid

i_buffer_active = 'X'

IT_FIELDCAT = t_fieldcat_tab[]

I_DEFAULT = 'X'

I_SAVE = 'A'

TABLES

T_OUTTAB = i_final[].

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

ENDFORM." f_display_report

&----


*& Form F_DOWNLOAD

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM F_DOWNLOAD .

*CALL FUNCTION 'WS_DOWNLOAD'

  • EXPORTING

  • FILENAME = p_file

  • FILETYPE = 'ASC'

    • MODE = ' '

    • WK1_N_FORMAT = ' '

    • WK1_N_SIZE = ' '

    • WK1_T_FORMAT = ' '

    • WK1_T_SIZE = ' '

    • COL_SELECT = ' '

    • COL_SELECTMASK = ' '

    • NO_AUTH_CHECK = ' '

    • IMPORTING

    • FILELENGTH =

  • TABLES

  • DATA_TAB = i_final

  • EXCEPTIONS

  • FILE_OPEN_ERROR = 1

  • FILE_WRITE_ERROR = 2

  • INVALID_FILESIZE = 3

  • INVALID_TYPE = 4

  • NO_BATCH = 5

  • UNKNOWN_ERROR = 6

  • INVALID_TABLE_WIDTH = 7

  • GUI_REFUSE_FILETRANSFER = 8

  • CUSTOMER_ERROR = 9

  • NO_AUTHORITY = 10

  • OTHERS = 11

  • .

*IF SY-SUBRC <> 0.

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

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

*ENDIF.

ENDFORM. " F_DOWNLOAD

for this one when i given the proper input

it showing the Runtime error.

Could u please tell me what mistake i have done

Urgent help

Regards

harshavi N.

hi friends,

Help me how to do this

REPORT ZINTERFACE_SAMPLE.

type-pools:SLIS.

TABLES:knb1, "Customer Master (Company Code)

kna1,

knvp. "Customer Master Partner Functions

TYPES:BEGIN OF T_knb1,

kunnr like knb1-kunnr,

bukrs like knb1-bukrs,

akont like knb1-akont,

END OF T_knb1.

TYPES:BEGIN OF T_kna1,

kunnr like kna1-kunnr, "customer number

NAME1 like KNA1-NAME1, "customer name

stras like KNA1-STRAS, "Customer address

ort01 like KNA1-ORT01, "Customer city

stcd1 like KNA1-STCD1, "Tax id

pstlz like KNA1-PSTLZ, "Postal code

END OF T_kna1.

TYPES:BEGIN OF T_knvp,

kunnr like knvp-kunnr, "customer number

parvw like knvp-parvw,

kunn2 like knvp-kunn2, "Customer number of business partner

END OF T_KNVP.

TYPES:BEGIN OF T_final,

Record_type TYPE c,

Sold_to_cust(10) TYPE c,

Payer(10) TYPE c,

Sequence(5) TYPE n,

Cust_name(35) TYPE c,

Cust_adreess(35) TYPE c,

Cust_city(35) TYPE c,

Tax_id(16) TYPE c,

Postal_code(5) TYPE c,

Branch TYPE c,

Delivery(3) TYPE c,

END OF T_final.

*Internal table declaration

DATA:I_knb1 TYPE STANDARD TABLE OF t_knb1 initial size 0,

i_kna1 TYPE STANDARD TABLE OF t_kna1 initial size 0,

i_knvp TYPE STANDARD TABLE OF t_knvp initial size 0,

i_final TYPE STANDARD TABLE OF t_final initial size 0.

DATA: t_fieldcat_tab TYPE slis_t_fieldcat_alv WITH HEADER LINE.

*Work area declaration

DATA:wa_knb1 TYPE t_knb1,

wa_kna1 TYPE t_kna1,

wa_knvp TYPE t_knvp,

wa_final TYPE t_final.

----


  • *variable declaration

----


data:sequence TYPe n,

g_line TYPE i.

----


  • selection screen *

----


SELECTION-screen begin of block b1 with frame title text-001.

parameters:p_bukrs like knb1-bukrs, "Company code

p_akont like knb1-akont .

selection-screen end of block b1.

SELECTION-screen begin of block b2 with frame title text-002.

PARAMETERS:R1 RADIOBUTTON GROUP G1,

R2 RADIOBUTTON GROUP G1.

Parameters:p_file like rlgrap-filename.

"Recon Account in General Ledger

selection-screen end of block b2.

*AT selection-screen ON VALUE-REQUEST FOR P_FILE.

  • CALL FUNCTION 'F4_FILENAME'

  • IMPORTING

  • FILE_NAME = P_FILE.

START-OF-selection.

PERFORM f_fetchdata.

PERFORM f_prepare_fieldcat.

PERFORM f_display_report.

*END-OF-SELECTION.

*IF R1 EQ 'X'.

*perform F_DOWNLOAD.

*ENDIF.

*IF R2 EQ 'X'.

*OPEN DATASET P_FILE FOR OUTPUT IN text mode ENCODING DEFAULT.

*LOOP AT i_final INTO WA_final.

*TRANSFER WA_final TO P_FILE.

*ENDLOOP.

*CLOSE DATASET P_FILE.

*ENDIF.

&----


*& Form f_fetchdata

&----


FORM f_fetchdata .

select kunnr

bukrs

akont

from knb1

into table i_knb1

where bukrs = p_bukrs

AND akont = p_akont.

DESCRIBE TABLE i_knb1 LINES g_line.

LOOP AT i_knb1 INTO wa_knb1.

SELECT single KUNNR

NAME1

STRAS

ORT01

STCD1

PSTLZ

FROM kna1

INTO wa_kna1

where kunnr = wa_knb1-kunnr.

if sy-subrc <> 0.

*Error KNA1 record not found.

endif.

SELECT single kunnr

parvw

kunn2

FROM KNVP

INTO wa_knvp

where kunnr = wa_knb1-kunnr

AND parvw = 'RG'.

if sy-subrc <> 0.

*Error KNA1 record not found.

endif.

sequence = sequence + 1.

MOVE: 'c' TO wa_final-Record_type,

wa_knvp-kunnr TO wa_final-Sold_to_cust,

sequence TO wa_final-Sequence,

wa_KNA1-NAME1 TO wa_final-Cust_name,

wa_kna1-STRAS TO wa_final-Cust_adreess ,

wa_kna1-ort01 TO wa_final-Cust_city,

wa_kna1-STCD1 TO wa_final-Tax_id,

wa_kna1-PSTLZ TO wa_final-Postal_code,

'1' TO wa_final-branch,

'abc' TO wa_final-Delivery.

INSERT wa_final INTO TABLE i_final.

endloop.

ENDFORM. " f_fetchdata

FORM f_prepare_fieldcat.

t_fieldcat_tab-col_pos = 1.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Record_type'.

t_fieldcat_tab-seltext_l = 'Record type'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 2.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Sold_to_cust'.

t_fieldcat_tab-seltext_l = 'Sold to cust'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 3.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'payer'.

t_fieldcat_tab-seltext_l = 'Payer'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 4.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Sequence'.

t_fieldcat_tab-seltext_l = 'sequence'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 5.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Cust_name'.

t_fieldcat_tab-seltext_l = 'Cust name'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 6.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Cust_adreess'.

t_fieldcat_tab-seltext_l = 'Cust adreess'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 7.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Cust_city'.

t_fieldcat_tab-seltext_l = 'Cust city'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 8.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Tax_id'.

t_fieldcat_tab-seltext_l = 'Tax id'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 9.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Postal_code'.

t_fieldcat_tab-seltext_l = 'Postal code'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 10.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Branch'.

t_fieldcat_tab-seltext_l = 'Branch'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 11.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'KWMENG'.

t_fieldcat_tab-seltext_l = 'Order Qty'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 12.

t_fieldcat_tab-tabname = 'i_final'.

t_fieldcat_tab-fieldname = 'Delivery'.

t_fieldcat_tab-seltext_l = 'Delivery'.

APPEND t_fieldcat_tab.

ENDFORM. " f_prepare_fieldcat

&----


*& Form f_display_report

&----


*To display the ALV Report

FORM f_display_report.

DATA: l_repid LIKE sy-repid.

l_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = l_repid

i_buffer_active = 'X'

IT_FIELDCAT = t_fieldcat_tab[]

I_DEFAULT = 'X'

I_SAVE = 'A'

TABLES

T_OUTTAB = i_final[].

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

ENDFORM." f_display_report

&----


*& Form F_DOWNLOAD

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM F_DOWNLOAD .

*CALL FUNCTION 'WS_DOWNLOAD'

  • EXPORTING

  • FILENAME = p_file

  • FILETYPE = 'ASC'

    • MODE = ' '

    • WK1_N_FORMAT = ' '

    • WK1_N_SIZE = ' '

    • WK1_T_FORMAT = ' '

    • WK1_T_SIZE = ' '

    • COL_SELECT = ' '

    • COL_SELECTMASK = ' '

    • NO_AUTH_CHECK = ' '

    • IMPORTING

    • FILELENGTH =

  • TABLES

  • DATA_TAB = i_final

  • EXCEPTIONS

  • FILE_OPEN_ERROR = 1

  • FILE_WRITE_ERROR = 2

  • INVALID_FILESIZE = 3

  • INVALID_TYPE = 4

  • NO_BATCH = 5

  • UNKNOWN_ERROR = 6

  • INVALID_TABLE_WIDTH = 7

  • GUI_REFUSE_FILETRANSFER = 8

  • CUSTOMER_ERROR = 9

  • NO_AUTHORITY = 10

  • OTHERS = 11

  • .

*IF SY-SUBRC <> 0.

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

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

*ENDIF.

ENDFORM. " F_DOWNLOAD

for this one when i given the proper input

it showing the Runtime error.

Could u please tell me what mistake i have done

Urgent help

Regards

harshavi N.

7 REPLIES 7
Read only

Former Member
0 Likes
963

Hi,

What is the run time error are you getting..

Thanks,

naren

Read only

0 Likes
963

hi Narendran Muthukumaran ,

in debugging mode i checked when it goto reuse_alv_list_display'

it showing the error the error is

You attempted to accessan unassigned field symbol (data Segement 92)

Regards

harshavi

Read only

Former Member
0 Likes
963

Hi,

I am able to successfully run the program without any changes..

Thanks,

Naren

Read only

0 Likes
963

HI NAREN,

its working

Thanks

harshavi

Read only

Former Member
0 Likes
963

HI,

Run this program..

REPORT ZINTERFACE_SAMPLE.

type-pools:SLIS.

TABLES:knb1, "Customer Master (Company Code)

kna1,

knvp. "Customer Master Partner Functions

TYPES:BEGIN OF T_knb1,

kunnr like knb1-kunnr,

bukrs like knb1-bukrs,

akont like knb1-akont,

END OF T_knb1.

TYPES:BEGIN OF T_kna1,

kunnr like kna1-kunnr, "customer number

NAME1 like KNA1-NAME1, "customer name

stras like KNA1-STRAS, "Customer address

ort01 like KNA1-ORT01, "Customer city

stcd1 like KNA1-STCD1, "Tax id

pstlz like KNA1-PSTLZ, "Postal code

END OF T_kna1.

TYPES:BEGIN OF T_knvp,

kunnr like knvp-kunnr, "customer number

parvw like knvp-parvw,

kunn2 like knvp-kunn2, "Customer number of business partner

END OF T_KNVP.

TYPES:BEGIN OF T_final,

Record_type TYPE c,

Sold_to_cust(10) TYPE c,

Payer(10) TYPE c,

Sequence(5) TYPE n,

Cust_name(35) TYPE c,

Cust_adreess(35) TYPE c,

Cust_city(35) TYPE c,

Tax_id(16) TYPE c,

Postal_code(5) TYPE c,

Branch TYPE c,

Delivery(3) TYPE c,

END OF T_final.

*Internal table declaration

DATA:I_knb1 TYPE STANDARD TABLE OF t_knb1 initial size 0,

i_kna1 TYPE STANDARD TABLE OF t_kna1 initial size 0,

i_knvp TYPE STANDARD TABLE OF t_knvp initial size 0,

i_final TYPE STANDARD TABLE OF t_final initial size 0.

DATA: t_fieldcat_tab TYPE slis_t_fieldcat_alv WITH HEADER LINE.

*Work area declaration

DATA:wa_knb1 TYPE t_knb1,

wa_kna1 TYPE t_kna1,

wa_knvp TYPE t_knvp,

wa_final TYPE t_final.

----


  • *variable declaration

----


data:sequence TYPe n,

g_line TYPE i.

----


  • selection screen *

----


SELECTION-screen begin of block b1 with frame title text-001.

parameters:p_bukrs like knb1-bukrs, "Company code

p_akont like knb1-akont .

selection-screen end of block b1.

SELECTION-screen begin of block b2 with frame title text-002.

PARAMETERS:R1 RADIOBUTTON GROUP G1,

R2 RADIOBUTTON GROUP G1.

Parameters:p_file like rlgrap-filename.

"Recon Account in General Ledger

selection-screen end of block b2.

*AT selection-screen ON VALUE-REQUEST FOR P_FILE.

  • CALL FUNCTION 'F4_FILENAME'

  • IMPORTING

  • FILE_NAME = P_FILE.

START-OF-selection.

PERFORM f_fetchdata.

PERFORM f_prepare_fieldcat.

PERFORM f_display_report.

*END-OF-SELECTION.

*IF R1 EQ 'X'.

*perform F_DOWNLOAD.

*ENDIF.

*IF R2 EQ 'X'.

*OPEN DATASET P_FILE FOR OUTPUT IN text mode ENCODING DEFAULT.

*LOOP AT i_final INTO WA_final.

*TRANSFER WA_final TO P_FILE.

*ENDLOOP.

*CLOSE DATASET P_FILE.

*ENDIF.

&----


*& Form f_fetchdata

&----


FORM f_fetchdata .

select kunnr

bukrs

akont

from knb1

into table i_knb1

where bukrs = p_bukrs

AND akont = p_akont.

DESCRIBE TABLE i_knb1 LINES g_line.

LOOP AT i_knb1 INTO wa_knb1.

SELECT single KUNNR

NAME1

STRAS

ORT01

STCD1

PSTLZ

FROM kna1

INTO wa_kna1

where kunnr = wa_knb1-kunnr.

if sy-subrc <> 0.

*Error KNA1 record not found.

endif.

SELECT single kunnr

parvw

kunn2

FROM KNVP

INTO wa_knvp

where kunnr = wa_knb1-kunnr

AND parvw = 'RG'.

if sy-subrc <> 0.

*Error KNA1 record not found.

endif.

sequence = sequence + 1.

MOVE: 'c' TO wa_final-Record_type,

wa_knvp-kunnr TO wa_final-Sold_to_cust,

sequence TO wa_final-Sequence,

wa_KNA1-NAME1 TO wa_final-Cust_name,

wa_kna1-STRAS TO wa_final-Cust_adreess ,

wa_kna1-ort01 TO wa_final-Cust_city,

wa_kna1-STCD1 TO wa_final-Tax_id,

wa_kna1-PSTLZ TO wa_final-Postal_code,

'1' TO wa_final-branch,

'abc' TO wa_final-Delivery.

INSERT wa_final INTO TABLE i_final.

endloop.

ENDFORM. " f_fetchdata

FORM f_prepare_fieldcat.

t_fieldcat_tab-col_pos = 1.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'RECORD_TYPE'.

t_fieldcat_tab-seltext_l = 'Record type'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 2.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'SOLD_TO_CUST'.

t_fieldcat_tab-seltext_l = 'Sold to cust'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 3.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'PAYER'.

t_fieldcat_tab-seltext_l = 'Payer'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 4.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'SEQUENCE'.

t_fieldcat_tab-seltext_l = 'sequence'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 5.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'CUST_NAME'.

t_fieldcat_tab-seltext_l = 'Cust name'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 6.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'CUST_ADREESS'.

t_fieldcat_tab-seltext_l = 'Cust adreess'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 7.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'CUST_CITY'.

t_fieldcat_tab-seltext_l = 'Cust city'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 8.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'TAX_ID'.

t_fieldcat_tab-seltext_l = 'Tax id'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 9.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'POSTAL_CODE'.

t_fieldcat_tab-seltext_l = 'Postal code'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 10.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'BRANCH'.

t_fieldcat_tab-seltext_l = 'Branch'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 11.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'KWMENG'.

t_fieldcat_tab-seltext_l = 'Order Qty'.

APPEND t_fieldcat_tab.

t_fieldcat_tab-col_pos = 12.

t_fieldcat_tab-tabname = 'I_FINAL'.

t_fieldcat_tab-fieldname = 'DELIVERY'.

t_fieldcat_tab-seltext_l = 'Delivery'.

APPEND t_fieldcat_tab.

ENDFORM. " f_prepare_fieldcat

&----


*& Form f_display_report

&----


*To display the ALV Report

FORM f_display_report.

DATA: l_repid LIKE sy-repid.

l_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = l_repid

IT_FIELDCAT = t_fieldcat_tab[]

I_DEFAULT = 'X'

I_SAVE = 'A'

TABLES

T_OUTTAB = I_FINAL[].

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

ENDFORM." f_display_report

&----


*& Form F_DOWNLOAD

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM F_DOWNLOAD .

*CALL FUNCTION 'WS_DOWNLOAD'

  • EXPORTING

  • FILENAME = p_file

  • FILETYPE = 'ASC'

    • MODE = ' '

    • WK1_N_FORMAT = ' '

    • WK1_N_SIZE = ' '

    • WK1_T_FORMAT = ' '

    • WK1_T_SIZE = ' '

    • COL_SELECT = ' '

    • COL_SELECTMASK = ' '

    • NO_AUTH_CHECK = ' '

    • IMPORTING

    • FILELENGTH =

  • TABLES

  • DATA_TAB = i_final

  • EXCEPTIONS

  • FILE_OPEN_ERROR = 1

  • FILE_WRITE_ERROR = 2

  • INVALID_FILESIZE = 3

  • INVALID_TYPE = 4

  • NO_BATCH = 5

  • UNKNOWN_ERROR = 6

  • INVALID_TABLE_WIDTH = 7

  • GUI_REFUSE_FILETRANSFER = 8

  • CUSTOMER_ERROR = 9

  • NO_AUTHORITY = 10

  • OTHERS = 11

  • .

*IF SY-SUBRC <> 0.

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

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

*ENDIF.

ENDFORM. " F_DOWNLOAD

It is perfectly working for me..

I made the field name and table name as CAPs in the field catalog internal table.

I removed the buffer paramter in the ALV FM.

Thanks,

Naren

Read only

Former Member
0 Likes
963

Hi Harshavi,

In your final internal table used for display, there is no quantity field KWMENG declared but you are using same during catalog declaration.

Also in the FORM f_prepare_fieldcat, you have to declare fields like

t_fieldcat_tab-col_pos = 1.

t_fieldcat_tab-tabname = 'I_FINAL'. "shud be capital

t_fieldcat_tab-fieldname = 'RECORD TYPE'. "capital

t_fieldcat_tab-seltext_l = 'Record type'.

make this change for all the fields in catalog.

I think this shud work.

Cheers,

Vikram

pls reward for helpful replies!!

Read only

Former Member
0 Likes
963

Hi,

Please award the points for helpful answers..

Thanks,

Naren