10-10-2007 9:05 AM
Hi Experts, Good day!
I am using now BDC for the device creations. But they want to use BAPI, I didnt work before on BAPIs so please send me some sample code. I am sending my rfc fm, please check it and let me know where exactly I want to use the bapis and give me some sample code.
ACTUALLY THE DATA IS SENDING XI.
FUNCTION yisu_rmdmii06_equi_create.
*"----
""Local interface:
*" EXPORTING
*" VALUE(SUBRC) LIKE SYST-SUBRC
*" TABLES
*" DEVICEINFO STRUCTURE YRMDMII06DVCINFO
*" MESSTAB STRUCTURE BDCMSGCOLL
*"----
TYPES: BEGIN OF t_returnmsg,
fldname LIKE bapiret2-field,
msgnr LIKE sy-msgno,
msgv1 LIKE sy-msgv1,
msgv2 LIKE sy-msgv2,
msgv3 LIKE sy-msgv3,
msgv4 LIKE sy-msgv4,
END OF t_returnmsg.
DATA: gwa_returnmsg TYPE t_returnmsg.
*-- Execution Time
gwa_ii06log-exectime = sy-uzeit.
REFRESH: gi_errorlog.
*-- For Multiple deveices to be created
LOOP AT deviceinfo.
*-- Deveices with Register Group
IF NOT deviceinfo-zwgruppe IS INITIAL.
REFRESH: messtab.
CALL FUNCTION 'YISU_RMDMII06_EQUI_CREATE05'
EXPORTING
ctu = 'X'
mode = 'N'
UPDATE = 'L'
nodata = '/'
matnr_001 = deviceinfo-material
sernr_002 = deviceinfo-serialno
eqtyp_003 = 'I'
herst_004 = deviceinfo-manfacture
ab_005 = deviceinfo-valid_date
typbz_006 = deviceinfo-manmodel
baujj_007 = deviceinfo-constyear
zwgruppe_008 = deviceinfo-zwgruppe
besitz_009 = deviceinfo-besitz
bglnetz_010 = 'X'
shtxt_011 = 'X'
SPARTE_012 = '03'
groes_013 = deviceinfo-groes
herst_014 = deviceinfo-manfacture
typbz_015 = deviceinfo-manmodel
baujj_016 = deviceinfo-constyear
shtxt_017 =
stsma_018 = 'ZCOJ'
etx04_019 = 'NTAV'
SPARTE_020 = '03'
groes_021 = deviceinfo-groes
herst_022 = deviceinfo-manfacture
typbz_023 = deviceinfo-manmodel
baujj_024 = deviceinfo-constyear
shtxt_025 =
IMPORTING
subrc = subrc
TABLES
messtab = messtab.
*if subrc = 0.
*commit work.
*else.
*endif.
LOOP AT messtab.
MOVE-CORRESPONDING messtab TO gwa_returnmsg.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = messtab-msgtyp
cl = messtab-msgid
number = gwa_returnmsg-msgnr
par1 = gwa_returnmsg-msgv1
par2 = gwa_returnmsg-msgv2
par3 = gwa_returnmsg-msgv3
par4 = gwa_returnmsg-msgv4
field = gwa_returnmsg-fldname
IMPORTING
return = gv_return.
gwa_errorlog-material = deviceinfo-material.
gwa_errorlog-serialno = deviceinfo-serialno.
gwa_errorlog-message = gv_return-message.
APPEND gwa_errorlog TO gi_errorlog.
ENDLOOP.
ENDIF.
*-- Deveices with Winding Group
IF NOT deviceinfo-wgruppe IS INITIAL.
REFRESH: messtab.
CALL FUNCTION 'YISU_RMDMII06_EQUI_CREATE03'
EXPORTING
ctu = 'X'
mode = 'N'
UPDATE = 'L'
nodata = '/'
group = 'DEVICE_W'
user = sy-uname
keep = 'X'
holddate = sy-datum
matnr_001 = deviceinfo-material
sernr_002 = deviceinfo-serialno
eqtyp_003 = 'I'
herst_004 = deviceinfo-manfacture
ab_005 = deviceinfo-valid_date
typbz_006 = deviceinfo-manmodel
baujj_007 = deviceinfo-constyear
wgruppe_008 = deviceinfo-wgruppe
besitz_009 = deviceinfo-besitz
stsma_011 = 'zcoj'
etx04_012 = 'NTAV'
IMPORTING
subrc = subrc
TABLES
messtab = messtab.
*if subrc = 0.
*commit work.
*else.
LOOP AT messtab.
MOVE-CORRESPONDING messtab TO gwa_returnmsg.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = messtab-msgtyp
cl = messtab-msgid
number = gwa_returnmsg-msgnr
par1 = gwa_returnmsg-msgv1
par2 = gwa_returnmsg-msgv2
par3 = gwa_returnmsg-msgv3
par4 = gwa_returnmsg-msgv4
field = gwa_returnmsg-fldname
IMPORTING
return = gv_return.
gwa_errorlog-material = deviceinfo-material.
gwa_errorlog-serialno = deviceinfo-serialno.
gwa_errorlog-message = gv_return-message.
APPEND gwa_errorlog TO gi_errorlog.
ENDLOOP.
ENDIF.
ENDLOOP.
*-- Completion Time
gwa_ii06log-compltime = sy-uzeit.
PERFORM f_yrmdmii06errlog TABLES gi_errorlog.
subrc = sy-subrc.
commit work.
ENDFUNCTION.
FUNCTIONS MODULES.
1. YISU_RMDMII06_EQUI_CREATE05
FUNCTION yisu_rmdmii06_equi_create05.
*"----
""Local interface:
*" IMPORTING
*" VALUE(CTU) LIKE APQI-PUTACTIVE DEFAULT 'X'
*" VALUE(MODE) LIKE APQI-PUTACTIVE DEFAULT 'N'
*" VALUE(UPDATE) LIKE APQI-PUTACTIVE DEFAULT 'L'
*" VALUE(GROUP) LIKE APQI-GROUPID OPTIONAL
*" VALUE(USER) LIKE APQI-USERID OPTIONAL
*" VALUE(KEEP) LIKE APQI-QERASE OPTIONAL
*" VALUE(HOLDDATE) LIKE APQI-STARTDATE OPTIONAL
*" VALUE(NODATA) LIKE APQI-PUTACTIVE DEFAULT '/'
*" VALUE(MATNR_001) LIKE BDCDATA-FVAL DEFAULT '130'
*" VALUE(SERNR_002) LIKE BDCDATA-FVAL DEFAULT 'NewTest01'
*" VALUE(EQTYP_003) LIKE BDCDATA-FVAL DEFAULT 'I'
*" VALUE(HERST_004) LIKE BDCDATA-FVAL DEFAULT 'ABB / ELSTER'
*" VALUE(AB_005) LIKE BDCDATA-FVAL DEFAULT '30072007'
*" VALUE(TYPBZ_006) LIKE BDCDATA-FVAL DEFAULT 'HELIX 3000'
*" VALUE(BAUJJ_007) LIKE BDCDATA-FVAL DEFAULT '2005'
*" VALUE(ZWGRUPPE_008) LIKE BDCDATA-FVAL DEFAULT 'WMKL15-5'
*" VALUE(BESITZ_009) LIKE BDCDATA-FVAL DEFAULT '03'
*" VALUE(BGLNETZ_010) LIKE BDCDATA-FVAL DEFAULT 'X'
*" VALUE(SHTXT_011) LIKE BDCDATA-FVAL OPTIONAL
*" VALUE(SPARTE_012) LIKE BDCDATA-FVAL DEFAULT '03'
*" VALUE(GROES_013) LIKE BDCDATA-FVAL DEFAULT '15MM'
*" VALUE(HERST_014) LIKE BDCDATA-FVAL DEFAULT 'ABB / ELSTER'
*" VALUE(TYPBZ_015) LIKE BDCDATA-FVAL DEFAULT 'HELIX 3000'
*" VALUE(BAUJJ_016) LIKE BDCDATA-FVAL DEFAULT '2005'
*" VALUE(SHTXT_017) LIKE BDCDATA-FVAL OPTIONAL
*" VALUE(STSMA_018) LIKE BDCDATA-FVAL DEFAULT 'ZCOJ'
*" VALUE(ETX04_019) LIKE BDCDATA-FVAL DEFAULT 'NTAV'
*" VALUE(SPARTE_020) LIKE BDCDATA-FVAL DEFAULT '03'
*" VALUE(GROES_021) LIKE BDCDATA-FVAL DEFAULT '15MM'
*" VALUE(HERST_022) LIKE BDCDATA-FVAL DEFAULT 'ABB / ELSTER'
*" VALUE(TYPBZ_023) LIKE BDCDATA-FVAL DEFAULT 'HELIX 3000'
*" VALUE(BAUJJ_024) LIKE BDCDATA-FVAL DEFAULT '2005'
*" VALUE(SHTXT_025) LIKE BDCDATA-FVAL OPTIONAL
*" EXPORTING
*" VALUE(SUBRC) LIKE SYST-SUBRC
*" TABLES
*" MESSTAB STRUCTURE BDCMSGCOLL OPTIONAL
*"----
subrc = 0.
PERFORM bdc_nodata USING nodata.
PERFORM open_group USING group user keep holddate ctu.
PERFORM bdc_dynpro USING 'SAPMIEQ0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RISA0-SERNR'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'RISA0-MATNR' matnr_001.
PERFORM bdc_field USING 'RISA0-SERNR' sernr_002.
PERFORM bdc_field USING 'RM63E-EQTYP' eqtyp_003.
PERFORM bdc_dynpro USING 'SAPLE10R' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'EDEVICED-BGLJAHR'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SAVE'.
PERFORM bdc_field USING 'EDEVICED-HERST' herst_004.
PERFORM bdc_field USING 'EDEVICED-AB' ab_005.
PERFORM bdc_field USING 'EDEVICED-TYPBZ' typbz_006.
PERFORM bdc_field USING 'EDEVICED-BAUJJ' baujj_007.
PERFORM bdc_field USING 'EDEVICED-ZWGRUPPE' zwgruppe_008.
PERFORM bdc_field USING 'EDEVICED-BESITZ' besitz_009.
PERFORM bdc_field USING 'EDEVICED-BGLNETZ' bglnetz_010.
PERFORM bdc_dynpro USING 'SAPMIEQ0' '0101'.
PERFORM bdc_field USING 'BDC_OKCODE' '=T\01'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ITOB-SHTXT'.
PERFORM bdc_field USING 'ITOB-SHTXT' shtxt_011.
PERFORM bdc_dynpro USING 'SAPMIEQ0' '0101'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SU'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ITOB-GROES'.
PERFORM bdc_field USING 'ITOB-SPARTE' sparte_012.
PERFORM bdc_field USING 'ITOB-GROES' groes_013.
PERFORM bdc_field USING 'ITOB-HERST' herst_014.
PERFORM bdc_field USING 'ITOB-TYPBZ' typbz_015.
PERFORM bdc_field USING 'ITOB-BAUJJ' baujj_016.
PERFORM bdc_field USING 'ITOB-SHTXT' shtxt_017.
PERFORM bdc_dynpro USING 'SAPLBSVA' '0300'.
PERFORM bdc_field USING 'BDC_OKCODE' '=DIRI'.
PERFORM bdc_field USING 'BDC_CURSOR' 'JOSTD-STSMA'.
PERFORM bdc_field USING 'JOSTD-STSMA' stsma_018.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0500'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OPT1'.
PERFORM bdc_dynpro USING 'SAPLBSVA' '0882'.
PERFORM bdc_field USING 'BDC_CURSOR' 'JESTD-ETX04'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BACK'.
PERFORM bdc_field USING 'JESTD-ETX04' etx04_019.
PERFORM bdc_dynpro USING 'SAPLBSVA' '0300'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BACK'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ITOB-MATNR'.
PERFORM bdc_dynpro USING 'SAPMIEQ0' '0101'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
PERFORM bdc_field USING 'ITOB-SPARTE' sparte_020.
PERFORM bdc_field USING 'ITOB-GROES' groes_021.
PERFORM bdc_field USING 'ITOB-HERST' herst_022.
PERFORM bdc_field USING 'ITOB-TYPBZ' typbz_023.
PERFORM bdc_field USING 'ITOB-BAUJJ' baujj_024.
PERFORM bdc_field USING 'BDC_CURSOR' 'ITOB-MATNR'.
PERFORM bdc_field USING 'ITOB-SHTXT' shtxt_025.
PERFORM bdc_transaction TABLES messtab
USING 'IQ01'
ctu
mode
update.
IF sy-subrc <> 0.
subrc = sy-subrc.
EXIT.
ENDIF.
PERFORM close_group USING ctu.
ENDFUNCTION.
2. yisu_rmdmii06_equi_create03.
FUNCTION yisu_rmdmii06_equi_create03.
*"----
""Local interface:
*" IMPORTING
*" VALUE(CTU) LIKE APQI-PUTACTIVE DEFAULT 'X'
*" VALUE(MODE) LIKE APQI-PUTACTIVE DEFAULT 'N'
*" VALUE(UPDATE) LIKE APQI-PUTACTIVE DEFAULT 'L'
*" VALUE(GROUP) LIKE APQI-GROUPID OPTIONAL
*" VALUE(USER) LIKE APQI-USERID OPTIONAL
*" VALUE(KEEP) LIKE APQI-QERASE OPTIONAL
*" VALUE(HOLDDATE) LIKE APQI-STARTDATE OPTIONAL
*" VALUE(NODATA) LIKE APQI-PUTACTIVE DEFAULT '/'
*" VALUE(MATNR_001) LIKE BDCDATA-FVAL DEFAULT '136'
*" VALUE(SERNR_002) LIKE BDCDATA-FVAL DEFAULT 'tebza03'
*" VALUE(EQTYP_003) LIKE BDCDATA-FVAL DEFAULT 'I'
*" VALUE(HERST_004) LIKE BDCDATA-FVAL DEFAULT 'ABB / ELSTER'
*" VALUE(AB_005) LIKE BDCDATA-FVAL DEFAULT '01012006'
*" VALUE(TYPBZ_006) LIKE BDCDATA-FVAL DEFAULT 'ABBE 6008'
*" VALUE(BAUJJ_007) LIKE BDCDATA-FVAL DEFAULT '2006'
*" VALUE(WGRUPPE_008) LIKE BDCDATA-FVAL DEFAULT 'MCT600/5'
*" VALUE(BESITZ_009) LIKE BDCDATA-FVAL DEFAULT '03'
*" VALUE(SHTXT_010) LIKE BDCDATA-FVAL DEFAULT ''
*" VALUE(STSMA_011) LIKE BDCDATA-FVAL DEFAULT 'zcoj'
*" VALUE(ETX04_012) LIKE BDCDATA-FVAL DEFAULT 'NTAV'
*" VALUE(SHTXT_013) LIKE BDCDATA-FVAL DEFAULT ''
*" EXPORTING
*" VALUE(SUBRC) LIKE SYST-SUBRC
*" TABLES
*" MESSTAB STRUCTURE BDCMSGCOLL OPTIONAL
*"----
subrc = 0.
PERFORM bdc_nodata USING nodata.
PERFORM open_group USING group user keep holddate ctu.
PERFORM bdc_dynpro USING 'SAPMIEQ0' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RISA0-SERNR'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'RISA0-MATNR' matnr_001.
PERFORM bdc_field USING 'RISA0-SERNR' sernr_002.
PERFORM bdc_field USING 'RM63E-EQTYP' eqtyp_003.
PERFORM bdc_dynpro USING 'SAPLE10R' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'EDEVICED-BESITZ'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SAVE'.
PERFORM bdc_field USING 'EDEVICED-HERST' herst_004.
PERFORM bdc_field USING 'EDEVICED-AB' ab_005.
PERFORM bdc_field USING 'EDEVICED-TYPBZ' typbz_006.
PERFORM bdc_field USING 'EDEVICED-BAUJJ' baujj_007.
PERFORM bdc_field USING 'EDEVICED-WGRUPPE' wgruppe_008.
PERFORM bdc_field USING 'EDEVICED-BESITZ' besitz_009.
PERFORM bdc_dynpro USING 'SAPMIEQ0' '0101'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SU'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ITOB-SHTXT'.
PERFORM bdc_field USING 'ITOB-SHTXT' shtxt_010.
PERFORM bdc_dynpro USING 'SAPLBSVA' '0300'.
PERFORM bdc_field USING 'BDC_OKCODE' '=DIRI'.
PERFORM bdc_field USING 'BDC_CURSOR' 'JOSTD-STSMA'.
PERFORM bdc_field USING 'JOSTD-STSMA' stsma_011.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0500'.
PERFORM bdc_field USING 'BDC_OKCODE' '=OPT1'.
PERFORM bdc_dynpro USING 'SAPLBSVA' '0882'.
PERFORM bdc_field USING 'BDC_CURSOR' 'JESTD-ETX04'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BACK'.
PERFORM bdc_field USING 'JESTD-ETX04' etx04_012.
PERFORM bdc_dynpro USING 'SAPLBSVA' '0300'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BACK'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ITOB-MATNR'.
PERFORM bdc_dynpro USING 'SAPMIEQ0' '0101'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
PERFORM bdc_field USING 'BDC_CURSOR' 'ITOB-MATNR'.
PERFORM bdc_field USING 'ITOB-SHTXT' shtxt_013.
PERFORM bdc_transaction TABLES messtab USING 'IQ01'
ctu
mode
update.
IF sy-subrc <> 0.
subrc = sy-subrc.
EXIT.
ENDIF.
PERFORM close_group USING ctu.
ENDFUNCTION.
INCLUDE: bdcrecxy.
10-10-2007 9:11 AM
Hi,
Check this sample code from SDN.
DATA: BEGIN OF i_data OCCURS 0,
text(255),
END OF i_data.
DATA: i_ekko TYPE bapiekkoc.
DATA: it_ekko LIKE TABLE OF i_ekko INITIAL SIZE 0 WITH HEADER LINE.
DATA: BEGIN OF i_ekpo OCCURS 0,
po_item(5),
pur_mat(18),
plant(4),
net_price(23),
disp_quan(13),
END OF i_ekpo.
DATA: it_ekpo LIKE TABLE OF bapiekpoc INITIAL SIZE 0 WITH HEADER LINE .
DATA: BEGIN OF i_eket OCCURS 0,
po_item(5),
deliv_date(8),
quantity(13),
END OF i_eket.
DATA: it_eket LIKE TABLE OF bapieket INITIAL SIZE 0 WITH HEADER LINE.
DATA: v_index TYPE i.
DATA: return TYPE TABLE OF bapireturn INITIAL SIZE 0 WITH HEADER LINE.
DATA: po_num(10).
START-OF-SELECTION.
CALL FUNCTION 'UPLOAD'
* EXPORTING
* CODEPAGE = ' '
* FILENAME = ' '
* FILETYPE = ' '
* ITEM = ' '
* FILEMASK_MASK = ' '
* FILEMASK_TEXT = ' '
* FILETYPE_NO_CHANGE = ' '
* FILEMASK_ALL = ' '
* FILETYPE_NO_SHOW = ' '
* LINE_EXIT = ' '
* USER_FORM = ' '
* USER_PROG = ' '
* SILENT = 'S'
* IMPORTING
* FILESIZE =
* CANCEL =
* ACT_FILENAME =
* ACT_FILETYPE =
TABLES
data_tab = i_data
* EXCEPTIONS
* CONVERSION_ERROR = 1
* INVALID_TABLE_WIDTH = 2
* INVALID_TYPE = 3
* NO_BATCH = 4
* UNKNOWN_ERROR = 5
* GUI_REFUSE_FILETRANSFER = 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.
loop at i_data.
if i_data-text(1) = 'H'.
shift i_data-text.
v_index = v_index + 1.
split i_data-text at ',' into i_ekko-doc_type
i_ekko-purch_org
i_ekko-pur_group
i_ekko-vendor.
append i_ekko to it_ekko.
elseif i_data-text(1) = 'I'.
shift i_data-text.
split i_data-text at ',' into i_ekpo-po_item
i_ekpo-pur_mat
i_ekpo-plant
i_ekpo-net_price
i_ekpo-disp_quan.
append i_ekpo.
move-corresponding i_ekpo to it_ekpo.
append it_ekpo.
clear it_ekpo.
else.
shift i_data-text.
split i_data-text at ',' into i_eket-po_item
i_eket-deliv_date
i_eket-quantity.
append it_eket .
move-corresponding i_eket to it_eket.
append it_eket.
clear it_eket.
endif.
endloop.
CALL FUNCTION 'BAPI_PO_CREATE'
EXPORTING
po_header = i_ekko
* PO_HEADER_ADD_DATA =
* HEADER_ADD_DATA_RELEVANT =
* PO_ADDRESS =
* SKIP_ITEMS_WITH_ERROR = 'X'
* ITEM_ADD_DATA_RELEVANT =
* HEADER_TECH_FIELDS =
* IMPORTING
* PURCHASEORDER =
tables
po_items = it_ekpo
* PO_ITEM_ADD_DATA =
po_item_schedules = it_eket
* PO_ITEM_ACCOUNT_ASSIGNMENT =
* PO_ITEM_TEXT =
RETURN = return
* PO_LIMITS =
* PO_CONTRACT_LIMITS =
* PO_SERVICES =
* PO_SRV_ACCASS_VALUES =
* PO_SERVICES_TEXT =
* PO_BUSINESS_PARTNER =
* EXTENSIONIN =
* POADDRDELIVERY =
.
write: po_num.
BAPI
http://help.sap.com/saphelp_46c/helpdata/en/9b/417f07ee2211d1ad14080009b0fb56/frameset.htm
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
Checkout !!
http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci948835,00.html
http://techrepublic.com.com/5100-6329-1051160.html#
http://www.sap-img.com/bapi.htm
http://www.sap-img.com/abap/bapi-conventions.htm
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sapgenie.com/abap/bapi/example.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf
List of all BAPIs
http://www.planetsap.com/LIST_ALL_BAPIs.htm
http://www.sappoint.com/abap/bapiintro.pdf
http://www.sappoint.com/abap/bapiprg.pdf
http://www.sappoint.com/abap/bapiactx.pdf
http://www.sappoint.com/abap/bapilst.pdf
http://www.sappoint.com/abap/bapiexer.pdf
http://www.geocities.com/mpioud/Abap_programs.html
http://www.sapdevelopment.co.uk/reporting/reportinghome.htm
Thanks.