2008 Apr 21 5:34 AM
Could anyone send me an upload and download programs(excel sheet) in BDC's
Thanks in Advance
Could anyone send me an upload and download programs(excel sheet) in BDC's
Thanks in Advance
2008 Apr 21 5:39 AM
If you want to upload data from excel ..first you have to upload the data to internal table using FM: ALSM_EXCEL_TO_INTERNAL_TABLE.
If yopu want to download the data into excel just put .xsl extension within GUI_DOWNLOAD function module parameters.
Reward if it useful.
Dara.
2008 Apr 21 5:41 AM
See this sample program.(To upload into Internal Table)
REPORT ZEXCEL .
Structure for Final Internal Table
TYPES: BEGIN OF TY_FINAL,
MATNR LIKE RC29N-MATNR, "Material BOM
WERKS LIKE RC29N-WERKS, "Plant
STLAN LIKE RC29N-STLAN, "BOM Usage
STLAL LIKE RC29N-STLAL, "Alternative BOM
DATUV LIKE RC29N-DATUV, "Valid-From Date
ZTEXT LIKE RC29K-ZTEXT, "BOM text
POSTP LIKE RC29P-POSTP, "Item category (bill of
"material)
IDNRK LIKE RC29P-IDNRK, "BOM component
MENGE(16), "Component quantity
END OF TY_FINAL.
DATA: I_FINAL TYPE STANDARD TABLE OF TY_FINAL WITH HEADER LINE.
data: i_BDCDATA like bdcdata occurs 0 with header line.
DATA: BEGIN OF IEXCEL OCCURS 0.
INCLUDE STRUCTURE ALSMEX_TABLINE.
DATA: END OF IEXCEL.
PARAMETERS: P_FILE LIKE RLGRAP-FILENAME.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
PERFORM SHOW_HELP_FOR_P_FILE.
START-OF-SELECTION.
PERFORM GET_FILE.
PERFORM F_FILL_BDCDATA.
PERFORM F_SESSION.
END-OF-SELECTION.
PERFORM DISPLAY_DATA.
&----
*& Form SHOW_HELP_FOR_P_FILE
&----
FORM SHOW_HELP_FOR_P_FILE.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
STATIC = ' '
MASK = ' '
CHANGING
FILE_NAME = P_FILE
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2.
IF SY-SUBRC 0.
EXIT.
ENDIF.
ENDFORM. " SHOW_HELP_FOR_P_FILE
&----
*& Form GET_FILE
&----
FORM GET_FILE.
DATA: V_LEN TYPE I.
SHIFT P_FILE RIGHT DELETING TRAILING SPACE.
V_LEN = STRLEN( P_FILE ).
V_LEN = V_LEN - 3.
IF ( P_FILEV_LEN(3) EQ 'xls' OR P_FILEV_LEN(3) EQ 'XLS' ) .
Get all the details from the Excel file
SHIFT P_FILE LEFT DELETING LEADING SPACE.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = 1
I_BEGIN_ROW = 1
I_END_COL = 9
I_END_ROW = 100
TABLES
INTERN = IEXCEL
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
SORT IEXCEL BY ROW COL.
LOOP AT IEXCEL.
IF IEXCEL-COL = '0001'.
I_FINAL-MATNR = IEXCEL-VALUE.
ENDIF.
IF IEXCEL-COL = '0002'.
I_FINAL-WERKS = IEXCEL-VALUE.
ENDIF.
IF IEXCEL-COL = '0003'.
I_FINAL-STLAN = IEXCEL-VALUE.
ENDIF.
IF IEXCEL-COL = '0004'.
I_FINAL-STLAL = IEXCEL-VALUE.
ENDIF.
IF IEXCEL-COL = '0005'.
I_FINAL-DATUV = IEXCEL-VALUE.
ENDIF.
IF IEXCEL-COL = '0006'.
I_FINAL-ZTEXT = IEXCEL-VALUE.
ENDIF.
IF IEXCEL-COL = '0007'.
I_FINAL-POSTP = IEXCEL-VALUE.
ENDIF.
IF IEXCEL-COL = '0008'.
I_FINAL-IDNRK = IEXCEL-VALUE.
ENDIF.
IF IEXCEL-COL = '0009'.
I_FINAL-MENGE = IEXCEL-VALUE.
ENDIF.
AT END OF ROW.
APPEND I_FINAL.
CLEAR I_FINAL.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM. " GET_FILE
&----
*& Form DISPLAY_DATA
&----
text
-
--> p1 text
<-- p2 text
-
FORM DISPLAY_DATA.
LOOP AT I_FINAL.
WRITE: /1(18) I_FINAL-MATNR, "Material BOM
19(4) I_FINAL-WERKS, "Plant
24(1) I_FINAL-STLAN, "BOM Usage
26(2) I_FINAL-STLAL, "Alternative BOM
29(8) I_FINAL-DATUV, "Valid-From Date
40(40) I_FINAL-ZTEXT, "BOM text
81(1) I_FINAL-POSTP, "Item category (bill of
"material)
82(18) I_FINAL-IDNRK, "BOM component
101(13) I_FINAL-MENGE RIGHT-JUSTIFIED. "Component
"quantity
ENDLOOP.
ENDFORM. " DISPLAY_DATA
Download to excel:
==================
code
REPORT ztablexls.
TABLES: USR03,DD02L.
DATA: ZX030L LIKE X030L.
DATA BEGIN OF ZDFIES OCCURS 0.
INCLUDE STRUCTURE DFIES.
DATA END OF ZDFIES.
DATA: BEGIN OF FLDITAB OCCURS 0,
FLDNAME(11) TYPE C,
END OF FLDITAB.
DATA ITABUSR03 LIKE USR03 OCCURS 0 WITH HEADER LINE.
DATA TNAME LIKE DD02L-TABNAME.
SELECT * FROM USR03 INTO TABLE ITABUSR03.
TNAME = 'USR03'.
PERFORM GETFIELEDS.
PERFORM SHOW123.
********************************************
FORM GETFIELEDS.
CALL FUNCTION 'GET_FIELDTAB'
EXPORTING
LANGU = SY-LANGU
ONLY = SPACE
TABNAME = TNAME
WITHTEXT = 'X'
IMPORTING
HEADER = ZX030L
TABLES
FIELDTAB = ZDFIES
EXCEPTIONS
INTERNAL_ERROR = 01
NO_TEXTS_FOUND = 02
TABLE_HAS_NO_FIELDS = 03
TABLE_NOT_ACTIV = 04.
CASE SY-SUBRC.
WHEN 0.
LOOP AT ZDFIES.
FLDITAB-FLDNAME = ZDFIES-FIELDNAME.
APPEND FLDITAB.
ENDLOOP.
WHEN OTHERS.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
with SY-SUBRC.
ENDCASE.
ENDFORM.
***********************************
FORM SHOW123.
CALL FUNCTION 'EXCEL_OLE_STANDARD_DAT'
EXPORTING
FILE_NAME = 'C:\USR03.XLS'
DATA_SHEET_NAME = 'USER LIST'
TABLES
DATA_TAB = ITABUSR03
FIELDNAMES = FLDITAB
EXCEPTIONS
FILE_NOT_EXIST = 1
FILENAME_EXPECTED = 2
COMMUNICATION_ERROR = 3
OLE_OBJECT_METHOD_ERROR = 4
OLE_OBJECT_PROPERTY_ERROR = 5
INVALID_FILENAME = 6
INVALID_PIVOT_FIELDS = 7
DOWNLOAD_PROBLEM = 8
OTHERS = 9.
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.
Reward points..
2008 Apr 21 5:43 AM
2008 Apr 23 6:07 PM
Hi krishna,
Here are the sample programs to upload and download excel file.
1. Upload Excel data.
We can use the Function module TEXT_CONVERT_XLS_TO_SAP to read the Excel file into the internal table. From this internal table you can fill the target internal table.
2.* Download data into Excel file*
Use the function module SAP_CONVERT_TO_XLS_FORMAT to download the internal table to an excel file.
report zvenkat-upload-xl no standard page heading.
"----------------------------------------------------------------------
"Declarations.
"----------------------------------------------------------------------
"types
types:
begin of t_bank_det,
pernr(8) type c,
bnksa(4) type c,
zlsch(1) type c,
bkplz(10) type c,
bkort(25) type c,
bankn(18) type c,
end of t_bank_det.
"work areas
data:
w_bank_det type t_bank_det.
"internal tables
data:
i_bank_det type table of t_bank_det.
"---------------------------------------------------------------------
" selection-screen
"----------------------------------------------------------------------
selection-screen begin of block b1 with frame title text_001.
parameters p_file type localfile.
selection-screen end of block b1.
*---------------------------------------------------------------------
"At selection-screen on value-request for p_file.
*---------------------------------------------------------------------
at selection-screen on value-request for p_file.
perform f4_help.
*---------------------------------------------------------------------
"Start-of-selection.
*---------------------------------------------------------------------
start-of-selection.
perform upload_data.
*---------------------------------------------------------------------
"End-of-selection.
*---------------------------------------------------------------------
end-of-selection.
perform display_data.
*&---------------------------------------------------------------------*
"Form f4_help
*&---------------------------------------------------------------------*
form f4_help .
data:
l_file_name like ibipparms-path .
call function 'F4_FILENAME'
exporting
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = 'P_FILE'
importing
file_name = l_file_name.
p_file = l_file_name.
endform. " f4_help
*---------------------------------------------------------------------*
"Form upload_data
*---------------------------------------------------------------------*
form upload_data .
type-pools:truxs.
data:li_tab_raw_data type truxs_t_text_data.
data:l_filename like rlgrap-filename.
l_filename = p_file.
call function 'TEXT_CONVERT_XLS_TO_SAP'
exporting
i_tab_raw_data = li_tab_raw_data
i_filename = l_filename
tables
i_tab_converted_data = i_bank_det
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 display_data
*---------------------------------------------------------------------*
form display_data .
data: char100 type char100.
loop at i_bank_det into w_bank_det .
if sy-tabix = 1.
write w_bank_det.
write / '------------------------------------------------------------'.
else.
write / w_bank_det.
endif.
endloop.
endform. " display_data
I hope that those programs help u .
Regards,
Venkat.O
DATA: t100_lines TYPE STANDARD TABLE OF t001 WITH DEFAULT KEY.
PARAMETERS: p_file LIKE rlgrap-filename DEFAULT 'c:\tmp\test.xls'.
SELECT * FROM t001
INTO TABLE t100_lines.
CALL FUNCTION 'SAP_CONVERT_TO_XLS_FORMAT'
EXPORTING
i_filename = p_file
TABLES
i_tab_sap_data = t100_lines.
2008 May 09 11:40 AM
Hi Krishna,
try this code it may be helps to you,
----
Report Name : ZBDC_CR01 *
Description : This program will upload Work Center Details *
Data Transfer type : BDC *
Date : 03.04.2008 *
Created by : Ravi Kumar.S *
----
report ZBDC_CR01 no standard page heading line-size 255.
&----
& Internal Table Declaration &
&----
Types: begin of typ_out,
arbpl type rc68a-arbpl, "work centre code
werks type rc68a-werks, "plant
verwe(4), "Resourse category
stext type p1000-stext, "work center description
veran(3), "person responsible
stand type p3000-stand, "Location
planv1(3), "usage
vgwts1 type p3000-vgwts, "standard value key
steus type p3003-steus, "control key
vgexx1(3) type c, "UOM1
vgexx2(3) type c, "UOM2
vgexx3(3) type c, "UOM3
vgexx4(3) type c, "UOM4
pic(5) type c, "pic
planv2 type p3000-planv, "Usage
vgwts2 type p3000-vgwts, "Standard value key
kapart1(3), "Capacity category1
palnr type kako-planr, "Planner Group
mosid(2) type c, "shift Grouping
kalid(2) type c, "Factory calendar ID
meins1(3) type c, "UOM5
begzt(08), "Start time
endzt(08), "Finish time
ngrad type kako-ngrad, "Capacity utilization
aznor(03), "Number of individual capacities
meins2 type kako-Meins, "UOM6
datuv type kaza-datuv, "valid from
datub type kaza-datub, "valid to
sprog type kaza-sprog, "shift sequence
kapart2 type rc68a-kapart, "sechdule category2
fort1 type p3005-fort1, "setup Formula
fort2 type p3005-fort2, "Processing Formula
kostl type crkeyk-kostl, "Cost Center
larxx1 type rc68a-larxx, "Activity Type 1
leinh1 type rc68a-leinh, "Activity Unit 1
forxx1 type rc68a-forxx, "Formula key 1
larxx2 type rc68a-larxx, "Activity Type 2
leinh2 type rc68a-leinh, "Activity Unit 2
forxx2 type rc68a-forxx, "Formula key 2
larxx3 type rc68a-larxx, "Activity Type 3
leinh3 type rc68a-leinh, "Activity Unit 3
forxx3 type rc68a-forxx, "Formula key 3
larxx4 type rc68a-larxx, "Activity Type 4
leinh4 type rc68a-leinh, "Activity Unit 4
forxx4 type rc68a-forxx, "Formula key 4
end of typ_out.
DATA: TA_CR01 type standard table of typ_out initial size 0,
WA_CR01 type typ_out.
Data: ta_excel type standard table of alsmex_tabline initial size 0,
wa_excel type alsmex_tabline.
>>> For Work Center Upload
Data: ta_bdcdata type standard table of bdcdata ,
wa_bdcdata type bdcdata,
ta_bdcmessage type table of bdcmsgcoll,
wa_bdcmessage type bdcmsgcoll.
Data: tp_currentrow type i.
constants : cn_batch(4) type c value 'CR01',
cn_tcode(4) type c value 'CR01' .
&----
& Selection Screen &
----
SELECTION-SCREEN : BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
PARAMETERS : PA_FILE TYPE IBIPPARMS-PATH OBLIGATORY.
SELECTION-SCREEN : END OF BLOCK BLK1 .
----
At Selection-Screen &*
----
AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_FILE.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
FIELD_NAME = 'PA_FILE'
IMPORTING
FILE_NAME = PA_FILE.
&----
& Start Of Selection &
&----
start-of-selection.
perform upload.
perform bdc_open.
perform bdc_screens .
perform bdc_close.
call transaction 'SM35'.
&----
*& Form upload
&----
text
----
--> p1 text
<-- p2 text
----
FORM upload .
call function 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = PA_FILE
i_begin_col = 2
i_begin_row = 2
i_end_col = 255
i_end_row = 65000
TABLES
intern = ta_excel
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
Sorting table by Rows and Columns.
SORT TA_EXCEL BY ROW COL.
Get First ROW retrieved.
READ TABLE ta_excel into wa_excel INDEX 1.
Set First Row retrieved to Current Row
TP_CURRENTROW = wa_excel-row.
loop at ta_excel into wa_excel.
Reset Values for Next Row
IF WA_EXCEL-ROW NE TP_CURRENTROW.
APPEND WA_CR01 TO TA_CR01.
CLEAR WA_CR01.
TP_CURRENTROW = WA_EXCEL-ROW.
ENDIF.
CASE WA_EXCEL-COL.
WHEN '0001'.
WA_CR01-ARBPL = WA_EXCEL-VALUE.
WHEN '0002'.
WA_CR01-WERKS = WA_EXCEL-VALUE.
WHEN '0003'.
WA_CR01-VERWE = WA_EXCEL-VALUE.
WHEN '0004'.
WA_CR01-STEXT = WA_EXCEL-VALUE.
WHEN '0005'.
WA_CR01-VERAN = WA_EXCEL-VALUE.
WHEN '0006'.
WA_CR01-STAND = WA_EXCEL-VALUE.
WHEN '0007'.
WA_CR01-PLANV1 = WA_EXCEL-VALUE.
WHEN '0008'.
WA_CR01-VGWTS1 = WA_EXCEL-VALUE.
WHEN '0009'.
WA_CR01-STEUS = WA_EXCEL-VALUE.
WHEN '0010'.
WA_CR01-VGEXX1 = WA_EXCEL-VALUE.
WHEN '0011'.
WA_CR01-VGEXX2 = WA_EXCEL-VALUE.
WHEN '0012'.
WA_CR01-VGEXX3 = WA_EXCEL-VALUE.
WHEN '0013'.
WA_CR01-VGEXX4 = WA_EXCEL-VALUE.
WHEN '0014'.
WA_CR01-PIC = WA_EXCEL-VALUE.
WHEN '0015'.
WA_CR01-PLANV2 = WA_EXCEL-VALUE.
WHEN '0016'.
WA_CR01-VGWTS2 = WA_EXCEL-VALUE.
WHEN '0017'.
WA_CR01-KAPART1 = WA_EXCEL-VALUE.
WHEN '0000'.
WA_CR01-PLANR = WA_EXCEL-VALUE.
WHEN '0018'.
WA_CR01-MOSID = WA_EXCEL-VALUE.
WHEN '0019'.
WA_CR01-KALID = WA_EXCEL-VALUE.
WHEN '0020'.
WA_CR01-MEINS1 = WA_EXCEL-VALUE.
WHEN '0021'.
WA_CR01-BEGZT = WA_EXCEL-VALUE.
WHEN '0022'.
WA_CR01-ENDZT = WA_EXCEL-VALUE.
WHEN '0023'.
WA_CR01-NGRAD = WA_EXCEL-VALUE.
WHEN '0024'.
WA_CR01-AZNOR = WA_EXCEL-VALUE.
WHEN '0025'.
WA_CR01-MEINS2 = WA_EXCEL-VALUE.
WHEN '0026'.
WA_CR01-DATUV = WA_EXCEL-VALUE.
WHEN '0027'.
WA_CR01-DATUB = WA_EXCEL-VALUE.
WHEN '0028'.
WA_CR01-SPROG = WA_EXCEL-VALUE.
WHEN '0029'.
WA_CR01-KAPART2 = WA_EXCEL-VALUE.
WHEN '0030'.
WA_CR01-FORT1 = WA_EXCEL-VALUE.
WHEN '0031'.
WA_CR01-FORT2 = WA_EXCEL-VALUE.
WHEN '0032'.
WA_CR01-KOSTL = WA_EXCEL-VALUE.
WHEN '0033'.
WA_CR01-LARXX1 = WA_EXCEL-VALUE.
WHEN '0034'.
WA_CR01-LEINH1 = WA_EXCEL-VALUE.
WHEN '0035'.
WA_CR01-FORXX1 = WA_EXCEL-VALUE.
WHEN '0036'.
WA_CR01-LARXX2 = WA_EXCEL-VALUE.
WHEN '0037'.
WA_CR01-LEINH2 = WA_EXCEL-VALUE.
WHEN '0038'.
WA_CR01-FORXX2 = WA_EXCEL-VALUE.
WHEN '0039'.
WA_CR01-LARXX3 = WA_EXCEL-VALUE.
WHEN '0040'.
WA_CR01-LEINH3 = WA_EXCEL-VALUE.
WHEN '0041'.
WA_CR01-FORXX3 = WA_EXCEL-VALUE.
WHEN '0042'.
WA_CR01-LARXX4 = WA_EXCEL-VALUE.
WHEN '0043'.
WA_CR01-LEINH4 = WA_EXCEL-VALUE.
WHEN '0044'.
WA_CR01-FORXX4 = WA_EXCEL-VALUE.
ENDCASE.
ENDLOOP.
append wa_cr01 to ta_cr01.
ENDFORM. " upload
&----
*& Form bdc_open
&----
text
----
--> p1 text
<-- p2 text
----
FORM bdc_open .
call function 'BDC_OPEN_GROUP'
EXPORTING
CLIENT = SY-MANDT
DEST = FILLER8
GROUP = 'CR01'
HOLDDATE = FILLER8
KEEP = 'X'
USER = SY-UNAME
RECORD = FILLER1
PROG = SY-CPROG
*
OTHERS = 11
.
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. " bdc_open
&----
*& Form bdc_screens
&----
text
----
--> p1 text
<-- p2 text
----
FORM bdc_screens .
loop at ta_cr01 into wa_cr01.
refresh ta_bdcdata.
perform bdc_dynpro using 'SAPLCRA0' '0101'.
perform bdc_field using 'BDC_CURSOR'
'RC68A-VERWE'.
perform bdc_field using 'BDC_OKCODE'
'=NEXT'.
perform bdc_field using 'RC68A-WERKS'
wa_cr01-werks.
perform bdc_field using 'RC68A-ARBPL'
wa_cr01-arbpl.
perform bdc_field using 'RC68A-VERWE'
wa_cr01-verwe.
perform bdc_dynpro using 'SAPLCRA0' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=VORA'.
perform bdc_field using 'P1000-STEXT'
wa_cr01-stext.
perform bdc_field using 'BDC_CURSOR'
'P3000-VGWTS'.
perform bdc_field using 'P3000-VERAN'
wa_cr01-veran.
perform bdc_field using 'P3000-STAND'
wa_cr01-stand.
perform bdc_field using 'P3000-PLANV'
wa_cr01-planv1.
perform bdc_field using 'P3000-VGWTS'
wa_cr01-vgwts1.
perform bdc_dynpro using 'SAPLCRA0' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=KAUE'.
perform bdc_field using 'BDC_CURSOR'
'RC68A-VGEXX(04)'.
perform bdc_field using 'P3003-STEUS'
wa_cr01-steus.
perform bdc_field using 'P3003-STEUS_REF'
'X'.
perform bdc_field using 'RC68A-VGEXX(01)'
wa_cr01-vgexx1.
perform bdc_field using 'RC68A-VGEXX(02)'
wa_cr01-vgexx2.
perform bdc_field using 'RC68A-VGEXX(03)'
wa_cr01-vgexx3.
perform bdc_field using 'RC68A-VGEXX(04)'
wa_cr01-vgexx4.
perform bdc_dynpro using 'SAPLCRA0' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=KAKO'.
perform bdc_field using 'BDC_CURSOR'
'RC68A-KAPART(01)'.
perform bdc_field using 'RC68A-KAPART(01)'
wa_cr01-kapart1.
perform bdc_dynpro using 'SAPLCRK0' '0101'.
perform bdc_field using 'BDC_OKCODE'
'=KAZA'.
perform bdc_field using 'KAKT-KTEXT'
wa_cr01-ktext.
perform bdc_field using 'KAKO-PLANR'
'wei'.
perform bdc_field using 'KAKO-MOSID'
wa_cr01-mosid.
perform bdc_field using 'RC68K-BEGZT'
wa_cr01-begzt.
perform bdc_field using 'RC68K-ENDZT'
wa_cr01-endzt.
perform bdc_field using 'KAKO-NGRAD'
wa_cr01-ngrad.
perform bdc_field using 'RC68K-PAUSE'
wa_cr01-pause.
perform bdc_field using 'KAKO-AZNOR'
wa_cr01-aznor.
perform bdc_field using 'KAKO-KALID'
wa_cr01-kalid.
perform bdc_field using 'KAKO-MEINS'
wa_cr01-meins1.
perform bdc_field using 'BDC_CURSOR'
'KAKO-KAPTER'.
perform bdc_field using 'KAKO-KAPTER'
'X'.
perform bdc_field using 'RC68K-KAPLPL'
'X'.
perform bdc_dynpro using 'SAPLCRK0' '0116'.
perform bdc_field using 'BDC_CURSOR'
'KAZA-DATUV(01)'.
perform bdc_field using 'BDC_OKCODE'
'=INSI'.
perform bdc_field using 'RC68K-VERSN'
wa_cr01-versn.
perform bdc_field using 'KAZA_DEFAULT-BEGZT'
wa_cr01-begzt.
perform bdc_field using 'KAZA_DEFAULT-ENDZT'
wa_cr01-endzt.
perform bdc_field using 'KAZA_DEFAULT-PAUSE'
wa_cr01-pause.
perform bdc_field using 'KAZA_DEFAULT-NGRAD'
wa_cr01-ngrad.
perform bdc_field using 'KAZA_DEFAULT-ANZHL'
wa_cr01-anzhl.
perform bdc_field using 'KAKT-KTEXT'
wa_cr01-ktext.
perform bdc_dynpro using 'SAPLCRK0' '0116'.
perform bdc_field using 'BDC_CURSOR'
'KAZA-SPROG(01)'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RC68K-VERSN'
wa_cr01-versn.
perform bdc_field using 'KAZA_DEFAULT-BEGZT'
wa_cr01-begzt.
perform bdc_field using 'KAZA_DEFAULT-ENDZT'
wa_cr01-endzt.
perform bdc_field using 'KAZA_DEFAULT-PAUSE'
wa_cr01-pause.
perform bdc_field using 'KAZA_DEFAULT-NGRAD'
wa_cr01-ngrad.
perform bdc_field using 'KAZA_DEFAULT-ANZHL'
wa_cr01-anzhl.
perform bdc_field using 'KAZA-DATUV(01)'
wa_cr01-datuv.
perform bdc_field using 'KAZA-DATUB(01)'
wa_cr01-datub.
perform bdc_field using 'KAZA-SPROG(01)'
wa_cr01-sprog.
perform bdc_field using 'KAKT-KTEXT'
wa_cr01-ktext.
perform bdc_dynpro using 'SAPLCRK0' '0116'.
perform bdc_field using 'BDC_CURSOR'
'KAZA-SPROG(01)'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_field using 'RC68K-VERSN'
wa_cr01-versn.
perform bdc_field using 'KAZA_DEFAULT-BEGZT'
wa_cr01-begzt.
perform bdc_field using 'KAZA_DEFAULT-ENDZT'
wa_cr01-endzt.
perform bdc_field using 'KAZA_DEFAULT-PAUSE'
wa_cr01-pause.
perform bdc_field using 'KAZA_DEFAULT-NGRAD'
wa_cr01-ngrad.
perform bdc_field using 'KAZA_DEFAULT-ANZHL'
wa_cr01-anzhl.
perform bdc_field using 'KAKT-KTEXT'
wa_cr01-ktext.
perform bdc_dynpro using 'SAPLCRK0' '0101'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_field using 'BDC_CURSOR'
'KAKT-KTEXT'.
perform bdc_field using 'KAKT-KTEXT'
wa_cr01-ktext.
perform bdc_field using 'KAKO-PLANR'
'WEI'.
perform bdc_field using 'RC68K-BEGZT'
wa_cr01-begzt.
perform bdc_field using 'RC68K-ENDZT'
wa_cr01-endzt.
perform bdc_field using 'KAKO-NGRAD'
wa_cr01-ngrad.
perform bdc_field using 'RC68K-PAUSE'
wa_cr01-pause.
perform bdc_field using 'KAKO-AZNOR'
wa_cr01-aznor.
perform bdc_field using 'KAKO-KAPEH'
wa_cr01-kapeh.
perform bdc_field using 'KAKO-KALID'
wa_cr01-kalid.
perform bdc_field using 'KAKO-MEINS'
wa_cr01-meins2.
perform bdc_field using 'KAKO-KAPTER'
'X'.
perform bdc_field using 'RC68K-KAPLPL'
'X'.
perform bdc_dynpro using 'SAPLCRK0' '0101'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_field using 'BDC_CURSOR'
'KAKT-KTEXT'.
perform bdc_field using 'KAKT-KTEXT'
wa_cr01-ktext.
perform bdc_field using 'KAKO-PLANR'
'WEI'.
perform bdc_field using 'RC68K-BEGZT'
wa_cr01-begzt.
perform bdc_field using 'RC68K-ENDZT'
wa_cr01-endzt.
perform bdc_field using 'KAKO-NGRAD'
wa_cr01-ngrad.
perform bdc_field using 'RC68K-PAUSE'
wa_cr01-pause.
perform bdc_field using 'KAKO-AZNOR'
wa_cr01-aznor.
perform bdc_field using 'KAKO-KAPEH'
wa_cr01-kapeh.
perform bdc_field using 'KAKO-KALID'
wa_cr01-kalid.
perform bdc_field using 'KAKO-MEINS'
wa_cr01-meins1.
perform bdc_field using 'KAKO-KAPTER'
'X'.
perform bdc_field using 'RC68K-KAPLPL'
'X'.
perform bdc_dynpro using 'SAPLCRA0' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=TERM'.
perform bdc_field using 'BDC_CURSOR'
'P3006-FORK1(01)'.
perform bdc_dynpro using 'SAPLCRA0' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=VK11'.
perform bdc_field using 'BDC_CURSOR'
'P3005-FORT2'.
perform bdc_field using 'RC68A-KAPART'
wa_cr01-kapart2.
perform bdc_field using 'P3005-FORT1'
wa_cr01-fort1.
perform bdc_field using 'P3005-FORT2'
wa_cr01-fort2.
perform bdc_dynpro using 'SAPLCRA0' '4000'.
perform bdc_field using 'BDC_OKCODE'
'=UPD'.
perform bdc_field using 'BDC_CURSOR'
'RC68A-FORXX(04)'.
perform bdc_field using 'P1001-BEGDA'
wa_cr01-begda.
perform bdc_field using 'P1001-ENDDA'
wa_cr01-endda.
perform bdc_field using 'CRKEYK-KOSTL'
wa_cr01-kostl.
perform bdc_field using 'RC68A-LARXX(01)'
wa_cr01-larxx1.
perform bdc_field using 'RC68A-LARXX(02)'
wa_cr01-larxx2.
perform bdc_field using 'RC68A-LARXX(03)'
wa_cr01-larxx3.
perform bdc_field using 'RC68A-LARXX(04)'
wa_cr01-larxx4.
perform bdc_field using 'RC68A-LEINH(01)'
wa_cr01-leinh1.
perform bdc_field using 'RC68A-LEINH(02)'
wa_cr01-leinh2.
perform bdc_field using 'RC68A-LEINH(03)'
wa_cr01-leinh3.
perform bdc_field using 'RC68A-LEINH(04)'
wa_cr01-leinh4.
perform bdc_field using 'RC68A-FORXX(01)'
wa_cr01-forxx1.
perform bdc_field using 'RC68A-FORXX(02)'
wa_cr01-forxx2.
perform bdc_field using 'RC68A-FORXX(03)'
wa_cr01-forxx3.
perform bdc_field using 'RC68A-FORXX(04)'
wa_cr01-forxx4.
perform bdc_transaction using 'CR01'.
call function 'BDC_INSERT'
exporting
tcode = 'CR01'
tables
dynprotab = ta_bdcdata.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
PERFORM BDC_INSERT.
ENDLOOP.
ENDFORM. " bdc_screens
&----
*& Form BDC_INSERT
&----
text
----
--> p1 text
<-- p2 text
----
*FORM BDC_INSERT .
*
*CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = 'CR01'
POST_LOCAL = NOVBLOCAL
PRINTING = NOPRINT
SIMUBATCH = ' '
CTUPARAMS = ' '
TABLES
DYNPROTAB = ta_bdcdata
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS = 7
.
*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. " BDC_INSERT
&----
*& Form bdc_close
&----
text
----
--> p1 text
<-- p2 text
----
FORM bdc_close .
call function 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_ERROR = 2
OTHERS = 3
.
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. " bdc_close
&----
*& Form bdc_dynpro
&----
text
----
-->P_1269 text
-->P_1270 text
----
form bdc_dynpro using program type sy-repid
dynpro type any.
WA_BDCDATA-PROGRAM = PROGRAM.
WA_BDCDATA-DYNPRO = DYNPRO.
WA_BDCDATA-DYNBEGIN = 'X'.
append wa_bdcdata to ta_bdcdata.
clear wa_bdcdata.
endform. " bdc_dynpro
&----
*& Form bdc_field
&----
text
----
-->P_1329 text
-->P_1330 text
----
form bdc_field using fnam type any
fval type any.
IF FVAL <> ''.
WA_BDCDATA-FNAM = FNAM.
WA_BDCDATA-FVAL = FVAL.
append wa_bdcdata to ta_bdcdata.
clear wa_bdcdata.
ENDIF.
endform. " bdc_field
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |