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

FTP

Former Member
0 Likes
340

HI,

Sudheer

can u please tell me what "CALL 'AB_RFC_X_SCRAMBLE_STRING'" this statement does, weather it is a function , sub routine , or SAP statement.

REPORT ZFTPSAP LINE-SIZE 132.

DATA: BEGIN OF MTAB_DATA OCCURS 0,

LINE(132) TYPE C,

END OF MTAB_DATA.

DATA: MC_PASSWORD(20) TYPE C,

MI_KEY TYPE I VALUE 26101957,

MI_PWD_LEN TYPE I,

MI_HANDLE TYPE I.

START-OF-SELECTION.

*-- Your SAP-UNIX FTP password (case sensitive)

MC_PASSWORD = 'password'.

DESCRIBE FIELD MC_PASSWORD LENGTH MI_PWD_LEN.

*-- FTP_CONNECT requires an encrypted password to work

CALL 'AB_RFC_X_SCRAMBLE_STRING'

ID 'SOURCE' FIELD MC_PASSWORD ID 'KEY' FIELD MI_KEY

ID 'SCR' FIELD 'X' ID 'DESTINATION' FIELD MC_PASSWORD

ID 'DSTLEN' FIELD MI_PWD_LEN.

CALL FUNCTION 'FTP_CONNECT'

EXPORTING

*-- Your SAP-UNIX FTP user name (case sensitive)

USER = 'userid'

PASSWORD = MC_PASSWORD

*-- Your SAP-UNIX server host name (case sensitive)

HOST = 'unix-host'

RFC_DESTINATION = 'SAPFTP'

IMPORTING

HANDLE = MI_HANDLE

EXCEPTIONS

NOT_CONNECTED = 1

OTHERS = 2.

CHECK SY-SUBRC = 0.

CALL FUNCTION 'FTP_COMMAND'

EXPORTING

HANDLE = MI_HANDLE

COMMAND = 'dir'

TABLES

DATA = MTAB_DATA

EXCEPTIONS

TCPIP_ERROR = 1

COMMAND_ERROR = 2

DATA_ERROR = 3

OTHERS = 4.

IF SY-SUBRC = 0.

LOOP AT MTAB_DATA.

WRITE: / MTAB_DATA.

ENDLOOP.

ELSE.

  • do some error checking.

WRITE: / 'Error in FTP Command'.

ENDIF.

CALL FUNCTION 'FTP_DISCONNECT'

EXPORTING

HANDLE = MI_HANDLE

EXCEPTIONS

OTHERS = 1.

Regards

Sudheer

1 REPLY 1
Read only

Former Member
0 Likes
310

Hi

this is a system function which is used internally

see the doc

CALL - Call a System Function:

Note

This statement is for internal use only.

It cannot be used in application programs.

Note

As of Release 6.20, you should use Kernel Methods instead of system functions.

Syntax

CALL cfunc.

Addition:

... ID id1 FIELD f1 ... ID idn FIELD fn

Effect

Calls the system function cfunc. The relevant function must exist in the file sapactab.h. If you change or recreate a function, you have to compile and link the SAP kernel again. For this, you need the C source code files.

Normally, external programs should be called by RFC with CALL FUNCTION ... DESTINATION.

Addition

... ID id1 FIELD f1 ... ID idn FIELD fn

Effect

Passes fields to the called program by reference. With "ID id1", you specify the name of a formal parameter, and with "FIELD f1" the relevant field from the ABAP/4 program. If a formal parameter expects an internal table, the latter is passed in the form "FIELD tab[]".

Example

DATA RESULT(8).

CALL 'MULTIPLY' ID 'P1' FIELD '9999'

ID 'P2' FIELD '9999'

ID 'RES' FIELD RESULT.

Note

With some critical C functions, the system automatically performs an authorization check. If the user does not have the appropriate authorization, a runtime error occurs. You can check the authorization with the function module AUTHORITY_CHECK_C_FUNCTION.

Reward points if useful

Regards

Anji