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

Open data

Former Member
0 Likes
792

Hi,

I am reading the data into dataset.

but in file I want to display the number o records in the file.

please help me in this.

will get reward points.

regards,

Akshat

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
769

hi

i think u can place a count after data transfer and then pass the count to the file..

7 REPLIES 7
Read only

Former Member
0 Likes
769

Hi

Is this the way you do it?

OPEN DATASET file_name FOR OUTPUT IN TEXT MODE.

LOOP AT itab into wa.

TRANSFER wa TO file_name .

ENDLOOP.

CLOSE DATASET file_name.

Regards

Yossi

Read only

0 Likes
769

Hi,

Already I did what you suggested. I want to display the number of records in file.

How can i write for that in the dataset.

regards,

Ak

Read only

Former Member
0 Likes
769

Hi Dear,

Below is sample code for your question.

Rewards Points

Bohra

TABLES: BKPF,

SKB1,

T001.

DATA: W_INDEX TYPE I VALUE '1'.

DATA: W_FNAME1 TYPE STRING.

DATA : w_msg(150) TYPE c.

DATA : begin of it_file occurs 0,

Text(255) type c,

End of it_file.

  • data: file(50).

data file type string value '\usr\sap\DEV\interfaces\sample\CAP_B.txt'.

----


  • Header Details for Header items

----


DATA: BEGIN OF IT_HEADER OCCURS 0,

ind type i, " indicator for feild

bldat(8), " DOC DATE

blart(2), " DOC TYPE

bukrs(4), " COMPANY CODE

budat(8), " POSTING DATE

waers(5), " CURRENCY

xblnr(16), " HEADER REF

bktxt(25), " HEADER TXT

END OF IT_HEADER.

----


  • Item deatils for line items

----


DATA: BEGIN OF IT_ITEM OCCURS 0,

ind type i, " indicator

newbs(2), " POSTING KEY

newko(17), " ACCOUNT

newum(1), " SPL GL INDICATOR

wrbtr(13), " AMOUNT IN FOR CURRENCY

dmbtr(13), " AMOUNT IN LOCAL CURRENCY

zterm(4), " PAYAMENT TERMS

zfbdt(10), " BASE LINE DATE

wt_wit(2), " WITH TAXCODE

wt_qs(15), " WITH TAXCODE

wt_qb(15), " WITH TAXAMOUNT

mwskz(2), " TAXCODE

bupla(4), " BUSINESS PLACE

newbk(4), " LINE ITEM COMAPNY CODE

kostl(10), " COSTCENTER

aufnr(12), " INTERNAL ORDER

prctr(10), " PROFIT CENTER

pernr(8), " PERSONAL NUMBER

zuonr(18), " ASSIGNMENT

xref1(12), " REF1

xref2(12), " REF2

xref3(20), " REF3

sgtxt(50), " LINE TEXT

END OF IT_ITEM.

----


  • Final Internal table with both header and item details

----


DATA : BEGIN OF IT_POST OCCURS 0,

ind(1), " indicator for feild

bldat(8), " DOC DATE

blart(2), " DOC TYPE

bukrs(4), " COMPANY CODE

budat(8), " POSTING DATE

waers(5), " CURRENCY

xblnr(16), " HEADER REF

bktxt(25), " HEADER TXT

newbs(2), " POSTING KEY

newko(17), " ACCOUNT

newum(1), " SPL GL INDICATOR

wrbtr(13), " AMOUNT IN FOR CURRENCY

dmbtr(13), " AMOUNT IN LOCAL CURRENCY

zterm(4), " PAYAMENT TERMS

zfbdt(10), " BASE LINE DATE

wt_wit(2), " WITH TAXCODE

wt_qs(15), " WITH TAXCODE

wt_qb(15), " WITH TAXAMOUNT

mwskz(2), " TAXCODE

bupla(4), " BUSINESS PLACE

newbk(4), " LINE ITEM COMAPNY CODE

kostl(10), " COSTCENTER

aufnr(12), " INTERNAL ORDER

prctr(10), " PROFIT CENTER

pernr(8), " PERSONAL NUMBER

zuonr(18), " ASSIGNMENT

xref1(12), " REF1

xref2(12), " REF2

xref3(20), " REF3

sgtxt(50), " LINE TEXT

END OF IT_POST.

----


  • SELECTION SCREEN PARAMETER DECLARATION.

----


SELECTION-SCREEN BEGIN OF BLOCK BLK_001.

PARAMETERS :PR_FNAME LIKE RLGRAP-FILENAME.

SELECTION-SCREEN END OF BLOCK BLK_001.

PARAMETERS: PR_XBLNR TYPE XBLNR.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR PR_FNAME.

CALL FUNCTION 'F4_FILENAME'

IMPORTING

FILE_NAME = PR_FNAME.

START-OF-SELECTION.

*write '\usr\sap\DEV\interfaces\sample\revenue.txt' to file.

  • condense file.

*

W_FNAME1 = PR_FNAME.

*

*

*

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = W_FNAME1

FILETYPE = 'ASC'

HAS_FIELD_SEPARATOR = ','

TABLES

DATA_TAB = IT_file.

*CREATING FILE IN THE APPLICATION SERVER

OPEN DATASET file FOR OUTPUT IN TEXT MODE encoding default.

LOOP AT IT_FILE.

TRANSFER IT_FILE to file.

ENDLOOP.

CLOSE DATASET file.

----


  • READING FILE INTO INTERNAL TABLE.

----


*OPEN DATASET PR_FNAME FOR INPUT IN TEXT MODE encoding default.

*

*DO.

*

*READ DATASET PR_FNAME INTO IT_POST.

*

*IF SY-SUBRC NE 0.

*

*EXIT.

*

*ENDIF.

*

*ENDDO.

*

*CLOSE DATASET PR_FNAME.

----


  • DELETING THE FILE FROM THE APPLICATION SERVER.

----


*DELETE DATASET file.

Read only

0 Likes
769

Hi Naveen,

Already data in the data set. Below of the file I want display the number of records in file.

regards,

AK

Read only

0 Likes
769

You meen this?

OPEN DATASET file_name FOR OUTPUT IN TEXT MODE.

LOOP AT itab into wa.

TRANSFER wa TO file_name .

at last. ---> add line with count at end of file

wa = 'number of records' sy-tabix (for example)

TRANSFER wa TO file_name .

ENDLOOP.

CLOSE DATASET file_name.

Regards

Yossi

Read only

Former Member
0 Likes
770

hi

i think u can place a count after data transfer and then pass the count to the file..

Read only

Former Member
0 Likes
769

OPEN DATASET file_name FOR OUTPUT IN TEXT MODE.

LOOP AT itab into wa.

TRANSFER wa TO file_name .

ENDLOOP.

<b>describe table itab lines ln.

transfer 'no of records is' , ln to file_name</b>

CLOSE DATASET file_name.

<b>Reward POINTS IF USEFUL</b>