Skip to Content
0
Jun 24, 2016 at 12:30 PM

Coding block is appear in BDC for f-02

367 Views

Hi Experts,

I have developed a BDC using call transaction for F-02 tcode.Coding block is appear in the programming while at the time of recording it is not coming.

Kindly provide me solution.

FORM GET_EXCEL_DATA .

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_PATH
I_BEGIN_COL = 1
I_BEGIN_ROW = P_SROW
I_END_COL = 39
I_END_ROW = P_EROW
TABLES
INTERN = IT_EXCEL.
IF SY-SUBRC NE 0.
MESSAGE 'Error occur in reading the Excel file' TYPE 'I'.
STOP.
ENDIF.

LOOP AT IT_EXCEL INTO W_EXCEL.
INDEX = W_EXCEL-COL.
ASSIGN COMPONENT INDEX OF STRUCTURE WA_FINAL TO <FS>.
<FS> = W_EXCEL-VALUE.
AT END OF ROW.
APPEND WA_FINAL TO IT_FINAL.
CLEAR WA_FINAL.
ENDAT.
ENDLOOP.

* it_item[] = it_final[].
ENDFORM. " GET_EXCEL_DATA
*start-of-selection.


*&---------------------------------------------------------------------*
*& Form CALL_BAPI
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CALL_BAPI .

INDEX = 0.
LOOP AT IT_FINAL INTO WA_FINAL.
INDEX = INDEX + 1.
REFRESH :BDCDATA,MESSTAB.

*include bdcrecx1.
*
*start-of-selection.
*
*perform open_group.
IF WA_FINAL-NEWBS EQ '29' OR WA_FINAL-NEWBS EQ '29I' OR
WA_FINAL-NEWBS EQ '29B'.

*
perform bdc_dynpro using 'SAPMF05A' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF05A-NEWUM'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BKPF-BLDAT'
wa_final-bldat.
perform bdc_field using 'BKPF-BLART'
wa_final-blart.
perform bdc_field using 'BKPF-BUKRS'
wa_final-bukrs.
perform bdc_field using 'BKPF-BUDAT'
wa_final-budat.
perform bdc_field using 'BKPF-WAERS'
wa_final-waers.
perform bdc_field using 'RF05A-NEWBS'
wa_final-newbs.
perform bdc_field using 'RF05A-NEWKO'
wa_final-newko.
perform bdc_field using 'RF05A-NEWUM'
wa_final-newum.
perform bdc_dynpro using 'SAPMF05A' '0304'.
perform bdc_field using 'BDC_CURSOR'
'RF05A-NEWKO'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BSEG-WRBTR'
wa_final-wrbtr.
perform bdc_field using 'BSEG-DMBTR'
wa_final-dmbtr.
perform bdc_field using 'BSEG-BUPLA'
wa_final-bupla.
perform bdc_field using 'BSEG-SECCO'
wa_final-secco.
perform bdc_field using 'BSEG-GSBER'
wa_final-gsber.
perform bdc_field using 'BSEG-ZFBDT'
wa_final-zfbdt.
perform bdc_field using 'BSEG-PRCTR'
wa_final-prctr.
perform bdc_field using 'BSEG-FIPOS'
'ESTER-COMMITMENT'.
perform bdc_field using 'BSEG-ZUONR'
wa_final-zuonr.
perform bdc_field using 'BSEG-SGTXT'
wa_final-sgtxt.
perform bdc_field using 'RF05A-NEWBS'
wa_final-newbs1.
perform bdc_field using 'RF05A-NEWKO'
wa_final-newko1.
perform bdc_dynpro using 'SAPMF05A' '0300'.
perform bdc_field using 'BDC_CURSOR'
'RF05A-NEWKO'.
perform bdc_field using 'BDC_OKCODE'
'=COBL_MORE'.
perform bdc_field using 'BSEG-WRBTR'
wa_final-wrbtr1.
perform bdc_field using 'BSEG-DMBTR'
wa_final-dmbtr1.
perform bdc_field using 'BSEG-BUPLA'
wa_final-bupla1.
perform bdc_field using 'BSEG-ZUONR'
wa_final-zuonr1.
perform bdc_field using 'BSEG-SGTXT'
wa_final-sgtxt1.
perform bdc_field using 'RF05A-NEWBS'
wa_final-newbs2.
perform bdc_field using 'RF05A-NEWKO'
wa_final-newko2.
perform bdc_field using 'COBL-GSBER'
wa_final-gsber1.
perform bdc_field using 'COBL-KOSTL'
wa_final-kostl.
perform bdc_dynpro using 'SAPLKACB' '0002'.
perform bdc_field using 'BDC_CURSOR'
'COBL-PRCTR'.
perform bdc_field using 'BDC_OKCODE'
'=ENTE'.
perform bdc_field using 'COBL-GSBER'
wa_final-gsber2.
perform bdc_field using 'COBL-KOSTL'
wa_final-kostl1.
perform bdc_field using 'COBL-PRCTR'
wa_final-prctr1.
perform bdc_dynpro using 'SAPMF05A' '0300'.
perform bdc_field using 'BDC_CURSOR'
'BSEG-SGTXT'.
perform bdc_field using 'BDC_OKCODE'
'=AB'.
perform bdc_field using 'BSEG-WRBTR'
wa_final-wrbtr2.
perform bdc_field using 'BSEG-DMBTR'
wa_final-dmbtr2.
perform bdc_field using 'BSEG-BUPLA'
wa_final-bupla2.
perform bdc_field using 'BSEG-VALUT'
wa_final-valut.
perform bdc_field using 'BSEG-ZUONR'
wa_final-zuonr2.
perform bdc_field using 'BSEG-SGTXT'
wa_final-sgtxt3.
perform bdc_field using 'COBL-GSBER'
wa_final-gsber3.
perform bdc_dynpro using 'SAPMF05A' '0700'.

perform bdc_field using 'BDC_CURSOR'
'RF05A-NEWBS'.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
endif.
CALL TRANSACTION 'F-02' USING BDCDATA
MODE P_MODE
UPDATE 'A'
MESSAGES INTO
MESSTAB.

LOOP AT MESSTAB.
IF MESSTAB-MSGTYP = 'E' OR MESSTAB-MSGTYP = 'S'.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID = MESSTAB-MSGID
LANG = '-D'
NO = MESSTAB-MSGNR
V1 = MESSTAB-MSGV1
V2 = MESSTAB-MSGV2
V3 = MESSTAB-MSGV3
V4 = MESSTAB-MSGV4
IMPORTING
MSG = MSG
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.
ENDIF.
WRITE:/9 MSG.
ENDIF.
ENDLOOP.
ENDLOOP.


ENDFORM. " CALL_BAPI


*----------------------------------------------------------------------*
* 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.

CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.

ENDFORM. "BDC_FIELD

Attachments

coding block.PNG (36.0 kB)