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: 

How to read data from an Application Server to Internal tables?

Former Member
0 Kudos

Hi,

How to read data from an Application Server to Internal tables? Also, what are the methods to send data from internal table to database? I am using report programming .

The requirement is that Ineed to take data from Application server to Internal tables and then internal table to the TRANSPARENT TABLE.

1 ACCEPTED SOLUTION

former_member156446
Active Contributor
0 Kudos

app serv > internal table use open dataset check the help for it

internal table > tarns table use modify Ztranspernt from itab.

itab will be ur internal table with data to put in Trans table.

award points if useful

9 REPLIES 9

former_member156446
Active Contributor
0 Kudos

app serv > internal table use open dataset check the help for it

internal table > tarns table use modify Ztranspernt from itab.

itab will be ur internal table with data to put in Trans table.

award points if useful

0 Kudos

What is the syntax fro OPEN DATASET .

Would you please send a model program to my reference?

0 Kudos

&----


*& Form read_unixfile

&----


  • text

----


  • -->P_GT_EXCLUDE1 text

  • -->P_PA_UEX1 text

----


FORM fr_read_unixfile TABLES p_table

USING p_ufile.

FIELD-SYMBOLS : <wa_table> TYPE ANY.

DATA : wa_file TYPE string.

IF NOT p_ufile IS INITIAL.

OPEN DATASET p_ufile FOR INPUT IN TEXT MODE.

IF sy-subrc <> 0.

EXIT.

ENDIF.

DO.

READ DATASET p_ufile INTO wa_file.

IF sy-subrc <> 0.

EXIT.

ENDIF.

ASSIGN wa_file TO <wa_table>.

APPEND <wa_table> TO p_table.

CLEAR wa_file.

ENDDO.

CLOSE DATASET p_ufile.

ENDIF.

ENDFORM. " read_unixfile

p_ufile is the path in the application server

Former Member
0 Kudos

Hi,

we need to use

1. Open Dataset <pa_path> For Input In text Mode Ecoding default.

2.check for sy-subrc.

3. Read Dataset <pa_fpath> into <lw_itab>.

4. If sy-subrc eq 0.

5. Append <lw_tabname> to < lt_tabname>

6. then close Dataset Pa_fpath .

here with this it will get the data from application server to the internal table.

Hope this will work out...

Regards,

Sana.

Reward points if found helpful..

0 Kudos

Hi Misbah,

Thanks for your reply.

Here what is "lw_itab". Is it a work area or internal table. If it is a workarea only one row is fetched isn't it? What about other data?

former_member402443
Contributor
0 Kudos

Hi Vishnu,

Check this code. It might help you.

TYPES : BEGIN OF x_file,

matnr like mara-matnr, "Material Number

werks like mard-werks, "Plant

budat(10) type c, "Posting Date

bldat(10) type c, "Document Date

bmeng like stko-bmeng, "Base Quantity

bom_matnr like mara-matnr, "Material Number

bom_bmeng like stko-bmeng, "Base QUantity

END OF x_file.

Data : it_file TYPE STANDARD TABLE OF x_file INITIAL SIZE 0,

wa_file TYPE x_file.

FORM dataset_open USING p_filename.

OPEN DATASET p_filename FOR INPUT IN TEXT MODE ENCODING DEFAULT.

IF sy-subrc NE 0.

ELSE.

DO.

CLEAR: wa_string,wa_file.

READ DATASET p_filename INTO wa_string.

IF sy-subrc NE 0.

EXIT.

ELSE.

SPLIT wa_string AT con_tab INTO : wa_file-matnr

wa_file-werks

wa_file-bmeng

wa_file-budat

wa_file-bldat

wa_file-bom_matnr

wa_file-bom_bmeng.

APPEND wa_file TO it_file.

ENDIF.

ENDDO.

CLOSE DATASET p_file.

ENDIF.

ENDFORM. " dataset_open

Reward Points, if useful.

Regards,

Manoj Kumar

Former Member
0 Kudos

hi vishnu

check this program

&----


*& Report ZSAMP_PRESTOAPPL *

*& *

&----


*& *

*& *

&----


REPORT zsamp_prestoappl .

***********************************************************************

  • Data Declarations

***********************************************************************

  • Tables

  • Types

TYPES: BEGIN OF TYP_ITAB,

WORD(2048) TYPE C,

END OF TYP_ITAB.

  • Internal tables

  • Work areas

  • Variables

*VARIABLES PRESENTED FOR INPUT ON SELECTION SCREEN

SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.

PARAMETER P_TO_A RADIOBUTTON GROUP GR1.

PARAMETER A_TO_P RADIOBUTTON GROUP GR1.

SELECTION-SCREEN END OF BLOCK BLK1.

SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-002.

PARAMETER PRE_FILE LIKE RLGRAP-FILENAME OBLIGATORY.

PARAMETER APP1FILE LIKE FILENAME-FILEINTERN OBLIGATORY.

SELECTION-SCREEN END OF BLOCK BLK2.

*VARIABLES INTERNALLY USED

DATA : B(50) TYPE C,

A TYPE STRING,

A1 TYPE STRING,

ITAB TYPE STANDARD TABLE OF TYP_ITAB,

A2 TYPE STRING,

WA_ITAB LIKE LINE OF ITAB,

VAR TYPE C,

A3 LIKE RLGRAP-FILENAME,

DOWN_TYPE LIKE RLGRAP-FILETYPE,

E LIKE FILENAME-FILEINTERN,

APP_FILE LIKE FILENAME-FILEEXTERN.

  • Constants

**********************************************************************

  • Initialization

**********************************************************************

**********************************************************************

  • At Selection-Screen output

**********************************************************************

  • AT SELECTION-SCREEN OUTPUT.

  • SET PF-STATUS 'INTERFACE'.

**********************************************************************

  • At Selection-Screen

*********************************************************************

AT SELECTION-SCREEN.

*GETTING F4 HELP FOR PRESENTATION FILE ON SELECTION SCREEN

AT SELECTION-SCREEN ON VALUE-REQUEST FOR PRE_FILE.

CALL FUNCTION 'KD_GET_FILENAME_ON_F4'

EXPORTING

PROGRAM_NAME = SYST-REPID

DYNPRO_NUMBER = SYST-DYNNR

FIELD_NAME = ' '

STATIC = ' '

MASK = ' '

CHANGING

FILE_NAME = PRE_FILE

EXCEPTIONS

MASK_TOO_LONG = 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.

  • VALIDATION ON PRESENTATION FILE EXISTS OR NOT WHEN USER CLICKS P_TO_A

AT SELECTION-SCREEN ON PRE_FILE.

IF P_TO_A = 'X'.

B = PRE_FILE.

CALL FUNCTION 'WS_QUERY'

EXPORTING

  • ENVIRONMENT =

FILENAME = B

QUERY = 'FE'

  • WINID =

IMPORTING

RETURN = VAR

  • EXCEPTIONS

  • INV_QUERY = 1

  • NO_BATCH = 2

  • FRONTEND_ERROR = 3

  • OTHERS = 4

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

IF VAR EQ '0'." IF RETURN VALUE OF WS -QUERY EQ 0 FILE DOESN'T EXIST

MESSAGE E100(00) with text-003.

ENDIF.

ENDIF.

AT SELECTION-SCREEN ON APP1FILE.

E = APP1FILE.

*VALIDATION CHECK ON APPLICATION FILE WHEN USER CLICKS A_TO_P TRANSFER

CALL FUNCTION 'FILE_GET_NAME'

EXPORTING

  • CLIENT = SY-MANDT

logical_filename = E

  • OPERATING_SYSTEM = SY-OPSYS

  • PARAMETER_1 = ' '

  • PARAMETER_2 = ' '

  • PARAMETER_3 = ' '

  • USE_PRESENTATION_SERVER = ' '

  • WITH_FILE_EXTENSION = ' '

  • USE_BUFFER = ' '

  • ELEMINATE_BLANKS = 'X'

IMPORTING

  • EMERGENCY_FLAG =

  • FILE_FORMAT =

FILE_NAME = APP_FILE

  • EXCEPTIONS

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

IF A_TO_P = 'X'.

OPEN DATASET APP_FILE FOR INPUT IN BINARY MODE ." CHECKING BY

"OPENING FILE.

IF SY-SUBRC <> 0.

MESSAGE E100(00) with text-004."ERROR MESSAGE DISPLAYED WHEN FILE NOT OPENED

ENDIF.

CLOSE DATASET APP_FILE.

ENDIF.

*

**********************************************************************

  • Start-of-Selection

**********************************************************************

START-OF-SELECTION.

A = PRE_FILE.

  • UPLOADING THE FILE FROM PRESENTATION SERVER TO INTERNAL TABLE

IF P_TO_A = 'X'.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = A

FILETYPE = 'BIN'

  • HAS_FIELD_SEPARATOR = 'C'

  • HEADER_LENGTH = 0

  • READ_BY_LINE = 'X'

  • DAT_MODE = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • IMPORTING

  • FILELENGTH =

  • HEADER =

TABLES

DATA_TAB = ITAB

  • EXCEPTIONS

  • FILE_OPEN_ERROR = 1

  • FILE_READ_ERROR = 2

  • NO_BATCH = 3

  • GUI_REFUSE_FILETRANSFER = 4

  • INVALID_TYPE = 5

  • NO_AUTHORITY = 6

  • UNKNOWN_ERROR = 7

  • BAD_DATA_FORMAT = 8

  • HEADER_NOT_ALLOWED = 9

  • SEPARATOR_NOT_ALLOWED = 10

  • HEADER_TOO_LONG = 11

  • UNKNOWN_DP_ERROR = 12

  • ACCESS_DENIED = 13

  • DP_OUT_OF_MEMORY = 14

  • DISK_FULL = 15

  • DP_TIMEOUT = 16

  • OTHERS = 17

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

*TRANSFERRING DATA FROM ITAB TO APPLN SERVER FILE

OPEN DATASET APP_FILE FOR OUTPUT IN BINARY MODE.

IF SY-SUBRC = 0.

LOOP AT ITAB INTO WA_ITAB.

TRANSFER WA_ITAB TO APP_FILE.

ENDLOOP.

*FREE WA_ITAB.

CLOSE DATASET APP_FILE.

REFRESH ITAB.

PRE_FILE = ''.

MESSAGE S001(00) with text-005."SUCCESS MESSAGE

ELSE.

MESSAGE E100(00) with text-006.

ENDIF.

ENDIF.

*DOWNLOADING DATA WHEN USER CLICKS A_TO_P

IF A_TO_P = 'X'.

A2 = APP_FILE.

*TRANSFERRING DATA FROM APPN FILE TO INTERNAL TABLE

OPEN DATASET A2 FOR INPUT IN BINARY MODE .

IF SY-SUBRC = 0.

DO.

READ DATASET A2 INTO WA_ITAB

.

IF SY-SUBRC <> 0.

EXIT.

ELSE.

APPEND WA_ITAB TO ITAB.

ENDIF.

ENDDO.

CLOSE DATASET A2.

ELSE.

MESSAGE E100(00) with text-003.

ENDIF.

*TRANSFERRING DATA FROM INTERNAL TABLE TO PRESENTATION SERVER FILE

A1 = PRE_FILE.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

BIN_FILESIZE = 2048

FILENAME = A1

FILETYPE = 'BIN'

  • APPEND = ' '

  • WRITE_FIELD_SEPARATOR = 'C'

  • HEADER = '00'

  • TRUNC_TRAILING_BLANKS = ' '

  • WRITE_LF = 'X'

  • COL_SELECT = ' '

  • COL_SELECT_MASK = ' '

  • DAT_MODE = ' '

  • CONFIRM_OVERWRITE = ' '

  • NO_AUTH_CHECK = ' '

  • CODEPAGE = ' '

  • IGNORE_CERR = ABAP_TRUE

  • REPLACEMENT = '#'

  • WRITE_BOM = ' '

  • IMPORTING

  • FILELENGTH =

TABLES

DATA_TAB = ITAB

  • EXCEPTIONS

  • FILE_WRITE_ERROR = 1

  • NO_BATCH = 2

  • GUI_REFUSE_FILETRANSFER = 3

  • INVALID_TYPE = 4

  • NO_AUTHORITY = 5

  • UNKNOWN_ERROR = 6

  • HEADER_NOT_ALLOWED = 7

  • SEPARATOR_NOT_ALLOWED = 8

  • FILESIZE_NOT_ALLOWED = 9

  • HEADER_TOO_LONG = 10

  • DP_ERROR_CREATE = 11

  • DP_ERROR_SEND = 12

  • DP_ERROR_WRITE = 13

  • UNKNOWN_DP_ERROR = 14

  • ACCESS_DENIED = 15

  • DP_OUT_OF_MEMORY = 16

  • DISK_FULL = 17

  • DP_TIMEOUT = 18

  • FILE_NOT_FOUND = 19

  • DATAPROVIDER_EXCEPTION = 20

  • CONTROL_FLUSH_ERROR = 21

  • OTHERS = 22

.

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 s100(00) with text-so1."SUCCESS MESSAGE

ENDIF.

it's will help u

kk.

Former Member
0 Kudos

Hi Vishnu ,

I forgot to send u the whole code check for this..

Types: here u will give the internal table structure.

Data: Lw_itab type

Lt_itab TYpe

Selection screen

Parameters:

Select-options if any

Start-of-selection

Open Dataset Open Dataset <pa_path> For Input In text Mode Ecoding default.

check for sy-subrc.

_DO "use do loop for multiple values

._. Read Dataset <pa_fpath> into <lw_itab>.

. If sy-subrc eq 0.

. Append <lw_tabname> to < lt_tabname>

else

exit.

Endif.

enddo.

else

write://"error while opening a file".

endif.

close Dataset Pa_fpath .

Former Member
0 Kudos

using datasets we can read data from application server to internal table.

you can check the file that is exiting in application server or not with the

help of AL11(sap directories) transaction code.

then you have to follow like this.

first you have to open the file existing in the application server.

open dataset file for input.

see input is for opening the file and output is for creating a file.

read dataset file into itab.

now data is in internal table.

you can arragane the data in internal table as you like

see transfer is a key word in abap which does not return +sy-subrc..+reward points if useful..

regards,

swami