‎2007 Oct 15 5:47 AM
I have faced problem during uploading data.
The requirement is like that after uploading the data through BDC, the existing flat file should delete from Presentation Server (desktop).
Could you provide the code for the same? Urgent.
Regards,
Nihar.
‎2007 Oct 15 5:50 AM
Hi Nihar,
Use CL_GUI_FRONTEND_SERVICES->FILE_DELETE
Regards,
Atish
‎2007 Oct 15 5:50 AM
Hi Nihar,
Use CL_GUI_FRONTEND_SERVICES->FILE_DELETE
Regards,
Atish
‎2007 Oct 15 6:17 AM
Hi Atish ,
could provide me the code , This Function Module CL_GUI_FRONTEND_SERVICES not found in the system .
‎2007 Oct 15 6:30 AM
Hi Nihar,
it is not a FM. It is a class. and file_delete is its method.
Regards,
Atish
‎2007 Oct 15 7:44 AM
Hi This is my code , could u plz guide me where i have to write
REPORT ZNIHAR_CT_BDC
NO STANDARD PAGE HEADING LINE-SIZE 255.
DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
DATA: X_FILE TYPE STRING.
DATA: BEGIN OF ITAB OCCURS 0 ,
MATNR LIKE MARA-MATNR,
MBRSH LIKE MARA-MBRSH,
MTART LIKE MARA-MTART,
MAKTX LIKE MAKT-MAKTX,
MEINS LIKE MARA-MEINS ,
END OF ITAB .
PARAMETERS : P_FILE TYPE RLGRAP-FILENAME OBLIGATORY.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
DIRECTORY = 'C:\mara.txt'
FILEMASK = '*'
IMPORTING
SERVERFILE = P_FILE
EXCEPTIONS
CANCELED_BY_USER = 1
OTHERS = 2 .
*
IF SY-SUBRC <> 0.
WRITE:/ 'Flat file not deleted sucessfully' .
ENDIF.
*
BREAK-POINT.
PERFORM F4_HELP.
*INCLUDE BDCRECX1.
START-OF-SELECTION.
MOVE P_FILE TO X_FILE.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = X_FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X'
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.
WRITE:/ 'internal table not populated ' .
ENDIF.
PERFORM OPEN_GROUP.
LOOP AT ITAB.
REFRESH BDCDATA.
CLEAR BDCDATA.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-MTART'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=AUSW'.
PERFORM BDC_FIELD USING 'RMMG1-MATNR'
ITAB-MATNR.
PERFORM BDC_FIELD USING 'RMMG1-MBRSH'
ITAB-MBRSH.
PERFORM BDC_FIELD USING 'RMMG1-MTART'
ITAB-MTART.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(16)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(16)'
'X'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4004'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
ITAB-MAKTX.
PERFORM BDC_FIELD USING 'MARA-MEINS'
ITAB-MEINS.
PERFORM BDC_FIELD USING 'MARA-MTPOS_MARA'
'NORM'.
CALL TRANSACTION 'MM01' USING BDCDATA
MODE 'A'
UPDATE 'S'
MESSAGES INTO MESSTAB.
PERFORM BDC_TRANSACTION USING 'MM01'.
PERFORM CLOSE_GROUP.
ENDLOOP .
----
Start new screen *
----
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
ENDFORM. "BDC_DYNPRO
----
Insert field *
----
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> NODATA.
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
ENDIF.
ENDFORM. "BDC_FIELD
&----
*& Form F4_HELP
&----
text
----
--> p1 text
<-- p2 text
----
FORM F4_HELP .
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
CHANGING
FILE_NAME = P_FILE
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2.
.
IF SY-SUBRC <> 0.
WRITE:/ 'FILE NAME NOT FOUND '.
ENDIF.
ENDFORM. " F4_HELP
‎2007 Oct 15 7:46 AM
As you want to delete file after all processing
you can write it after
CALL TRANSACTION 'MM01' USING BDCDATA
MODE 'A'
UPDATE 'S'
MESSAGES INTO MESSTAB.
PERFORM BDC_TRANSACTION USING 'MM01'.
PERFORM CLOSE_GROUP.
ENDLOOP .
Regards,
Atish