shadow_left
Logo
Shadow_R
   
Sample ABAP Program of FTP Function Module
Yazar Administrator   
Pazar, 01 Haziran 2008

FUNCTION Y_FTP. 

*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(USER)
*" VALUE(PWD)
*" VALUE(HOST)
*" TABLES
*" COMMANDS
*" EXCEPTIONS
*" NO_SUCH_FILE
*"----------------------------------------------------------------------

DATA: W_USER(12) TYPE C ,
W_PWD(20) TYPE C ,
W_HOST(64) TYPE C.

DATA: HDL TYPE I,
KEY TYPE I VALUE 26101957,
DSTLEN TYPE I.

DATA: BEGIN OF RESULT OCCURS 0,
LINE(100) TYPE C,
END OF RESULT.

DESCRIBE FIELD PWD LENGTH DSTLEN.

CALL 'AB_RFC_X_SCRAMBLE_STRING'
ID 'SOURCE' FIELD PWD ID 'KEY' FIELD KEY
ID 'SCR' FIELD 'X' ID 'DESTINATION' FIELD PWD
ID 'DSTLEN' FIELD DSTLEN.

CALL FUNCTION 'FTP_CONNECT'
EXPORTING
USER = USER
PASSWORD = PWD
HOST = HOST
RFC_DESTINATION = 'SAPFTP'
IMPORTING
HANDLE = HDL.

LOOP AT COMMANDS.
IF COMMANDS NE ' '.
CALL FUNCTION 'FTP_COMMAND'
EXPORTING
HANDLE = HDL
COMMAND = COMMANDS
TABLES
DATA = RESULT
EXCEPTIONS
COMMAND_ERROR = 1
TCPIP_ERROR = 2.
LOOP AT RESULT.
WRITE AT / RESULT-LINE.
IF RESULT CS 'error'.
RAISE NO_SUCH_FILE.
ENDIF.
ENDLOOP.
REFRESH RESULT.
ENDIF.
ENDLOOP.

CALL FUNCTION 'FTP_DISCONNECT'
EXPORTING
HANDLE = HDL.


ENDFUNCTION.

Son Güncelleme ( Perşembe, 05 Haziran 2008 )
 
Updating IDoc data in segments
Yazar Administrator   
Pazartesi, 12 Mayıs 2008

STEP 1 - Open document to edit

CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_EDIT'
       EXPORTING
            document_number               = t_docnum
       IMPORTING
            idoc_control                  = itab_edidc
       TABLES
            idoc_data                     = itab_edidd
       EXCEPTIONS
            document_foreign_lock         = 1
            document_not_exist            = 2
            document_not_open             = 3
            status_is_unable_for_changing = 4
            OTHERS                        = 5.

STEP 2 - Loop at itab_edidd and change data

LOOP AT itab_edidd WHERE segnam = 'E1EDKA1'.
  e1edka1 = itab_edidd-sdata.
  IF e1edka1-parvw = 'LF'.
    e1edka1-partn = t_eikto.
    itab_edidd-sdata = e1edka1.
    MODIFY itab_edidd.
    EXIT.
  ENDIF.
ENDLOOP.

Son Güncelleme ( Pazartesi, 12 Mayıs 2008 )
Devamını oku...
 
Transferring data to a file
Yazar Administrator   
Pazartesi, 12 Mayıs 2008

*&---------------------------------------------------------------------*
*& Chapter 26: Transferring data to a file
*&---------------------------------------------------------------------*
REPORT CHAP2601.
* Data declarations for later use
PARAMETERS FILENAME(128) DEFAULT '/usr/tmp/testfile.dat'
                         LOWER CASE.
TABLES CUSTOMERS.
DATA MSG_TEXT(50).
* Get data for file transfer
DATA ALL_CUSTOMERS LIKE CUSTOMERS OCCURS 100
                   WITH HEADER LINE.
SELECT * FROM CUSTOMERS INTO TABLE ALL_CUSTOMERS.
SORT ALL_CUSTOMERS BY CITY.
LOOP AT ALL_CUSTOMERS.
  WRITE: / ALL_CUSTOMERS-CITY,
           ALL_CUSTOMERS-NAME.
ENDLOOP.
* Opening the File
OPEN DATASET FILENAME FOR OUTPUT IN TEXT MODE
                      MESSAGE MSG_TEXT.
IF SY-SUBRC NE 0.
  WRITE: 'File cannot be opened. Reason:', MSG_TEXT.
  EXIT.
ENDIF.
* Transferring Data
LOOP AT ALL_CUSTOMERS.
  TRANSFER ALL_CUSTOMERS-NAME TO FILENAME.
ENDLOOP.
* Closing the File
CLOSE DATASET FILENAME.

Son Güncelleme ( Pazartesi, 12 Mayıs 2008 )
 
<< Başa Dön < Önceki 1 2 3 4 5 6 7 8 9 10 Sonraki > Sona Git >>

Sonuçlar 5 - 8 Toplam: 51