‎2007 Aug 02 1:29 PM
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
‎2007 Aug 02 1:39 PM
hi
i think u can place a count after data transfer and then pass the count to the file..
‎2007 Aug 02 1:33 PM
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
‎2007 Aug 02 1:36 PM
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
‎2007 Aug 02 1:37 PM
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.
‎2007 Aug 02 1:40 PM
Hi Naveen,
Already data in the data set. Below of the file I want display the number of records in file.
regards,
AK
‎2007 Aug 02 1:47 PM
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
‎2007 Aug 02 1:39 PM
hi
i think u can place a count after data transfer and then pass the count to the file..
‎2007 Aug 02 1:59 PM
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>