09-15-2008 1:15 PM
Hi SDN's,
Can u tell me how to get headers when we download data to excel with using (we are using DBF as file type in the following method )
CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
(We can't use GUI_DOWNLOAD)
Thanks in advance..
BR
09-15-2008 1:25 PM
Hi,
I m giving u a bdc code i hope ur prob ll be solved.
&----
*& Report ZDTK_BDC_LT01
*&
&----
*&
*& PROGRAME TITLE : LT01
*&
*& AUTHOR : D TARUN KUMAR
*&
*& MM CONSULTANT : Mr. MRINMOYE CHAKRABORTY
*&
*& REQUEST NO. : RD1K901995
*&
*& TRANSACTION ID : ZLT01
*&
*& PACKAGE : ZTARUN
*&
&----
*& DESCRIPTION : BDC REPORT TO UPLOAD INITIAL STOCK POSTING AND
*& STORAGE BINS THROUGH LT01.
&----
REPORT ZDTK_BDC_LT01
no standard page heading line-size 255.
TYPE-POOLS: TRUXS.
----
STRUCTURE DECLARATION
----
TYPES : BEGIN OF TY_UPLOAD,
LGNUM(3),
BETYP(1),
BENUM(10),
BWLVS(3),
MATNR(18),
BISMT(18),
ANFME(16),
WERKS(4),
LGORT(4),
CHARG(10),
LETYP(10),
VLTYP(3),
VLBER(3),
VLPLA(10),
VLQNR(10),
NLTYP(3),
NLBER(3),
NLPLA(10),
NLQNR(10),
END OF TY_UPLOAD.
----
INTERNALTABLE & WORKAREA DECLARATION
----
DATA : T_UPLOAD TYPE STANDARD TABLE OF TY_UPLOAD,
T_BDCDATA TYPE STANDARD TABLE OF BDCDATA,
T_BDCMSGCOLL TYPE STANDARD TABLE OF BDCMSGCOLL,
W_UPLOAD TYPE TY_UPLOAD,
W_BDCDATA TYPE BDCDATA,
W_BDCMSGCOLL TYPE BDCMSGCOLL,
----
GLOBLE DECLARATION
----
G_FLNAME TYPE STRING,
G_MESSAGE(70) TYPE C,
IT_RAW TYPE TRUXS_T_TEXT_DATA,
----
GLOBLE DECLARATION
----
WA_OPT TYPE CTU_PARAMS.
WA_OPT-UPDMODE = 'A'.
WA_OPT-DEFSIZE = 'X'.
WA_OPT-DISMODE = 'A'.
----
SLECTION SCREEN DECLARATION
----
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN SKIP 2.
PARAMETER : P_FILE LIKE RLGRAP-FILENAME OBLIGATORY.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN : END OF BLOCK B1.
----
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
----
PERFORM GET_FILENAME.
----
START-OF-SELECTION.
----
PERFORM UPLOAD_DATA.
*PERFORM GET_FINAL.
*PERFORM GET_MIGO.
PERFORM SESSION.
*PERFORM TEST.
----
Start new screen *
----
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR W_BDCDATA.
W_BDCDATA-PROGRAM = PROGRAM.
W_BDCDATA-DYNPRO = DYNPRO.
W_BDCDATA-DYNBEGIN = 'X'.
APPEND W_BDCDATA TO T_BDCDATA.
ENDFORM.
----
Insert field *
----
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> NODATA.
CLEAR W_BDCDATA.
W_BDCDATA-FNAM = FNAM.
W_BDCDATA-FVAL = FVAL.
APPEND W_BDCDATA TO T_BDCDATA.
ENDIF.
ENDFORM.
&----
*& Form GET_FILENAME
&----
TEXT
----
FORM GET_FILENAME .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'P_FILE'
IMPORTING
FILE_NAME = P_FILE
.
ENDFORM. " GET_FILENAME
&----
*& Form UPLOAD_DATA
&----
text
----
form UPLOAD_DATA .
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
I_FIELD_SEPERATOR =
I_LINE_HEADER = 'X'
I_TAB_RAW_DATA = IT_RAW
I_FILENAME = P_FILE "WORK TABLE
TABLES
I_TAB_CONVERTED_DATA = T_UPLOAD[] "ACTUAL DATA
EXCEPTIONS
CONVERSION_FAILED = 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.
endform. " UPLOAD_DATA
&----
*& Form SESSION
&----
text
----
FORM SESSION .
*sort t_upload by bismt.
LOOP AT T_UPLOAD INTO W_UPLOAD.
REFRESH T_BDCDATA.
*CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = W_UPLOAD-CHARG
IMPORTING
OUTPUT = W_UPLOAD-CHARG .
*
*
*CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = W_UPLOAD-VLBER
IMPORTING
OUTPUT = W_UPLOAD-VLBER .
*
*CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = W_UPLOAD-NLTYP
IMPORTING
OUTPUT = W_UPLOAD-NLTYP .
*
*CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = W_UPLOAD-NLBER
IMPORTING
OUTPUT = W_UPLOAD-NLBER .
*
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = W_UPLOAD-CHARG
IMPORTING
OUTPUT = W_UPLOAD-CHARG .
DATA : BWLVS(3),
LGORT(4),
WERKS(4),
CHARG(10),
LETYP(10),
VLTYP(3),
VLBER(3),
VLPLA(10),
VLQNR(10),
NLTYP(3),
NLBER(3),
NLQNR(10).
DATA : W_MATNR(18).
*
*SELECT SINGLE MATNR FROM MARA INTO W_MATNR
WHERE BISMT = W_UPLOAD-BISMT.
BWLVS = '999'.
LGORT = '3500'.
WERKS = '1030'.
LETYP = 'E1'.
VLTYP = '998'.
VLBER = '001'.
VLPLA = 'AUFNAHME'.
NLTYP = '354'. "(packaging material)
*NLTYP = '353'. "(spareparts material)
NLBER = '001'.
*include bdcrecx1.
*
*start-of-selection.
*
*perform open_group.
perform bdc_dynpro using 'SAPML03T' '0101'.
perform bdc_field using 'BDC_CURSOR'
'LTAP-CHARG'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LTAK-LGNUM'
W_UPLOAD-LGNUM. "'350'.
perform bdc_field using 'LTAK-BENUM'
W_UPLOAD-BENUM. "'1000000000'.
perform bdc_field using 'LTAK-BETYP'
W_UPLOAD-BETYP. "'P'.
perform bdc_field using 'LTAK-BWLVS' BWLVS. "'999'.
perform bdc_field using 'LTAP-MATNR'
W_upload-MATNR. "'40000009'.
perform bdc_field using 'RL03T-ANFME'
W_UPLOAD-ANFME. "'1,000'.
perform bdc_field using 'LTAP-WERKS' WERKS. "'1030'.
perform bdc_field using 'LTAP-CHARG'
w_upload-charg.
perform bdc_dynpro using 'SAPML03T' '0102'.
perform bdc_field using 'BDC_CURSOR'
'LTAP-NLPLA'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RL03T-ANFME'
W_UPLOAD-ANFME. "'1,000'.
*perform bdc_field using 'LTAP-ALTME'
'KG'.
perform bdc_field using 'LTAP-LETYP' LETYP. "'E1'.
*perform bdc_field using 'LTAP-CHARG' W_UPLOAD-CHARG. "'0000000101'.
perform bdc_field using 'LTAP-VLTYP' VLTYP. "'998'.
perform bdc_field using 'LTAP-VLBER' VLBER. "'001'.
perform bdc_field using 'LTAP-VLPLA' VLPLA. "'AUFNAHME'.
perform bdc_field using 'LTAP-NLTYP'
W_UPLOAD-NLTYP. "'351'.
perform bdc_field using 'LTAP-NLBER' NLBER. "'001'.
perform bdc_field using 'LTAP-NLPLA'
W_UPLOAD-NLPLA. "'01 00 01'.
*perform bdc_transaction using 'LT01'.
*
*perform close_group.
******************************************************************
CALL TRANSACTION 'LT01' USING T_BDCDATA
MODE 'A'
UPDATE 'A'
OPTIONS FROM WA_OPT
MESSAGES INTO T_BDCMSGCOLL.
IF SY-SUBRC <> 0.
READ TABLE T_BDCMSGCOLL INTO W_BDCMSGCOLL INDEX 1.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = SY-MSGID
LANG = 'EN'
NO = SY-MSGNO
V1 = SY-MSGV1
V2 = SY-MSGV2
V3 = SY-MSGV3
V4 = SY-MSGV4
IMPORTING
MSG = G_MESSAGE
EXCEPTIONS
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.
WRITE : / W_upload-matnr ,'-----' , G_MESSAGE.
REFRESH T_BDCMSGCOLL.
ENDIF.
ENDIF.
*clear : w_matnr, w_upload.
ENDLOOP.
ENDFORM. " SESSION