12-27-2007 5:22 AM
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.
12-27-2007 5:24 AM
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
12-27-2007 5:24 AM
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
12-27-2007 5:27 AM
What is the syntax fro OPEN DATASET .
Would you please send a model program to my reference?
12-27-2007 5:38 AM
&----
*& 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
12-27-2007 5:29 AM
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..
12-27-2007 5:33 AM
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?
12-27-2007 5:39 AM
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
12-27-2007 5:41 AM
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.
12-27-2007 5:42 AM
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 .
12-27-2007 5:50 AM
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