‎2007 Aug 15 10:18 PM
Can i get a sample program demonstrating the use of FM RFC_READ_TABLE.
‎2007 Aug 15 10:23 PM
Delimiter = ','
No_data = ''
Query_table = 'MARA'
Rowcount = 99999;
Rowskips = 0;
Fields-Fieldname = 'MATNR'
Options-Text = 'MATNR EQ 000000000000000001'
-Kriss
‎2007 Aug 15 10:24 PM
here you go
REPORT Z_RFC_COPY_ALL_EES MESSAGE-ID ZP.
TABLES: PA0003,
T582A.
DATA: SOURCE LIKE PERNR-PERNR,
DBNAME LIKE DD02L-TABNAME VALUE 'PA0003',
TEXT(80) TYPE C VALUE 'Copying infotype',
SYS(3) TYPE C VALUE 'DHR'.
DATA BEGIN OF ITAB OCCURS 0.
INCLUDE STRUCTURE PA0003.
DATA END OF ITAB.
DATA OPTIONS LIKE RFC_DB_OPT OCCURS 0 WITH HEADER LINE.
DATA FIELDS LIKE RFC_DB_FLD OCCURS 0 WITH HEADER LINE.
DATA INFOTYPE LIKE ZSEL OCCURS 0 WITH HEADER LINE.
DATA TAB LIKE TAB512 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF IT.
INCLUDE STRUCTURE ZSEL.
DATA END OF IT.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) TEXT-003.
DATA: SOURCE1 LIKE PA0003-PERNR.
SELECTION-SCREEN COMMENT 46(5) TEXT-004.
DATA: SOURCE2 LIKE PA0003-PERNR.
SELECTION-SCREEN END OF LINE.
PARAMETERS SOURCE_C LIKE T000-MANDT OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS: DESTIN LIKE PERNR-PERNR OBLIGATORY,
DESTIN_C LIKE SY-MANDT DEFAULT SY-MANDT OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-NAME EQ 'DESTIN_C'.
SCREEN-INPUT = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
START-OF-SELECTION.
IF SOURCE_C(1) EQ '2'.
SYS = 'qa'.
ELSEIF SOURCE_C(1) EQ '3'.
SYS = 'P'.
ELSE.
SYS = 'D'.
ENDIF.
MOVE TEXT-005 TO OPTIONS.
CONCATENATE OPTIONS ' ''' SOURCE_C '''' INTO OPTIONS.
APPEND OPTIONS.
CALL FUNCTION 'RFC_READ_TABLE'
DESTINATION SYS
EXPORTING
QUERY_TABLE = DBNAME
TABLES
OPTIONS = OPTIONS
FIELDS = FIELDS
DATA = TAB
EXCEPTIONS
TABLE_NOT_AVAILABLE = 1
TABLE_WITHOUT_DATA = 2
OPTION_NOT_VALID = 3
FIELD_NOT_VALID = 4
NOT_AUTHORIZED = 5
DATA_BUFFER_EXCEEDED = 6
OTHERS = 7.
IF SY-SUBRC <> 0.
MESSAGE E099 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF SOURCE2 IS INITIAL.
MOVE SOURCE1 TO SOURCE2.
ENDIF.
LOOP AT TAB.
ITAB = TAB.
IF ITAB-PERNR GE SOURCE1 AND
ITAB-PERNR LE SOURCE2.
SELECT * FROM PA0003 WHERE PERNR EQ ITAB-PERNR.
ENDSELECT.
CHECK SY-SUBRC NE 0.
APPEND ITAB.
ENDIF.
ENDLOOP.
LOOP AT ITAB.
CALL FUNCTION 'Z_REMOTE_EE_COPY'
DESTINATION SYS
EXPORTING
SRC_PERNR = ITAB-PERNR
SRC_CLIENT = SOURCE_C
TABLES
INFOTYPE = INFOTYPE
EXCEPTIONS
EE_NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE E099 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
LOOP AT INFOTYPE.
MOVE-CORRESPONDING INFOTYPE TO IT.
IT-MANDT = SY-MANDT.
IT-PERNR = DESTIN.
CLEAR DBNAME.
CONCATENATE 'PA' IT-INFTY INTO DBNAME.
INSERT INTO (DBNAME) CLIENT SPECIFIED VALUES IT.
CLEAR TEXT.
CONCATENATE 'Copying infotype'
T582A-INFTY
'from'
SOURCE
'to'
DESTIN
INTO TEXT
SEPARATED BY SPACE.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TEXT
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC NE 0.
WRITE:/ SY-SUBRC.
ENDIF.
ENDLOOP.
ENDIF.
DESTIN = DESTIN + 1.
ENDLOOP.
MESSAGE I099 WITH 'Copy completed'.
Thanks
Mahesh
‎2007 Aug 15 10:28 PM
Read documentation of Function moduel RFC_READ_TABLE, it is well documented.
See the Below Link, This is explained about the function Module RFC_READ_TABLE with screen shots and also with an
example..
http://searchsap.techtarget.com/tip/1,289483,sid21_gci997032,00.html
Thanks
Mahesh
‎2007 Aug 15 10:30 PM
hi,
REFRESH: OPTIONS, FIELDS, ITAB.
CONCATENATE '''' IUST10S-OBJCT '''' INTO OPTIONTEXT.
CONCATENATE '''' IUST10S-AUTH '''' INTO OPTIONTEXT1.
CONCATENATE 'OBJCT =' OPTIONTEXT 'AND' 'AUTH = ' OPTIONTEXT1 INTO
OPTIONTEXT SEPARATED BY SPACE.
OPTIONS-TEXT = OPTIONTEXT.
APPEND OPTIONS.
FIELDS-FIELDNAME = 'OBJCT'. APPEND FIELDS.
FIELDS-FIELDNAME = 'AUTH'. APPEND FIELDS.
FIELDS-FIELDNAME = 'FIELD'. APPEND FIELDS.
FIELDS-FIELDNAME = 'VON'. APPEND FIELDS.
FIELDS-FIELDNAME = 'BIS'. APPEND FIELDS.
CALL FUNCTION 'RFC_READ_TABLE' DESTINATION RFCSYS
EXPORTING
QUERY_TABLE = 'UST12'
TABLES
OPTIONS = OPTIONS
FIELDS = FIELDS
DATA = ITAB
EXCEPTIONS
TABLE_NOT_AVAILABLE = 1
TABLE_WITHOUT_DATA = 2
OPTION_NOT_VALID = 3
FIELD_NOT_VALID = 4
NOT_AUTHORIZED = 5
DATA_BUFFER_EXCEEDED = 6
OTHERS = 7.
IF SY-SUBRC <> 0.
PERFORM REMOTE_MESSAGE.
ENDIF.
DESCRIBE TABLE ITAB LINES RECORDS.
IF RECORDS GT 0.
LOOP AT ITAB.
IUST12-OBJCT = ITAB-WA+0(10).
IUST12-AUTH = ITAB-WA+10(12).
IUST12-FIELD = ITAB-WA+22(10).
IUST12-VON = ITAB-WA+32(40).
IUST12-BIS = ITAB-WA+72(40).
APPEND IUST12.
Thanks
mahesh
‎2007 Aug 15 11:06 PM
Check this weblog <a href="/people/alvaro.tejadagalindo/blog/2006/02/17/tasting-the-mix-of-php-and-sap the mix of PHP and SAP</a>
It's an emulated SE16 transaction using PHP -;) That's the nice thing of RFC FM's....That you can use them in external applications -:D
Greetings,
Blag.