Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BDC Coding & Short Dump

Former Member
0 Likes
642

HI Experts,

I need to change the Document by using the FB02 Transaction. For this I am using BDC Call transaction. I did this by Recording. While Executing I am getting short dump. Can any one help me ASAP.

BDC Code….

DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.

DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.

CONSTANTS: lv_tcode LIKE tstc-tcode VALUE 'FB02'.

DATA: it_bseg LIKE bseg OCCURS 0 WITH HEADER LINE.

DATA: w_chect LIKE regud-chect, "CHECK NO.

w_bukrs LIKE bseg-bukrs, "COMPANY CODE

w_belnr LIKE bseg-belnr, "Accounting Doc. No.

w_augbl LIKE bseg-augbl, "Doc No. Of Clearing Doc.

w_blart LIKE bkpf-blart, "Document type.

w_zlsch LIKE bseg-zlsch, "Payment methods.

w_assig LIKE bseg-zuonr, "Assignment

w_count(2) TYPE n,

w_rep(2) TYPE n.

*First find out the Posting Document No.

SELECT SINGLE augbl FROM bseg INTO w_augbl

WHERE bukrs = regup-bukrs

AND belnr = regup-belnr.

SELECT * FROM bseg INTO TABLE it_bseg

WHERE bukrs = regup-bukrs

AND belnr = w_augbl.

*Findint the Cheque No. from PAYR

SELECT SINGLE chect FROM payr INTO w_chect

WHERE vblnr = w_augbl

AND rzawe IN ('C','S').

*Finding the Posting Document Type

SELECT SINGLE blart FROM bkpf INTO w_blart

WHERE belnr = w_augbl.

SELECT COUNT( * ) FROM bseg INTO w_count

WHERE belnr = w_augbl

AND zlsch IN ('C','S').

IF w_blart EQ 'ZP' AND w_count GT 0.

MOVE 01 TO w_rep.

PERFORM bdc_dynpro USING 'SAPMF05L' '0100'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05L-BELNR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'/00'.

PERFORM bdc_field USING 'RF05L-BELNR'

w_augbl.

PERFORM bdc_field USING 'RF05L-BUKRS'

regup-bukrs.

PERFORM bdc_field USING 'RF05L-GJAHR'

regup-gjahr.

w_count = w_count + 1.

DO w_count TIMES.

PERFORM bdc_dynpro USING 'SAPMF05L' '0700'.

PERFORM bdc_field USING 'BDC_CURSOR'

'RF05L-ANZDT(w_rep)'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=PK'.

IF w_rep EQ 01.

PERFORM bdc_dynpro USING 'SAPMF05L' '0302'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-ZUONR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=AB'.

PERFORM bdc_field USING 'BSEG-ZUONR'

w_chect+7(6).

  • PERFORM bdc_field USING 'BDC_OKCODE'

  • '=ENTE'.

w_rep = w_rep + 1.

ELSE.

PERFORM bdc_dynpro USING 'SAPMF05L' '0300'.

PERFORM bdc_field USING 'BDC_CURSOR'

'BSEG-ZUONR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=AB'.

PERFORM bdc_field USING 'BSEG-ZUONR'

w_chect+7(6).

PERFORM bdc_field USING 'DKACB-FMORE'

'X'.

PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.

PERFORM bdc_field USING 'BDC_CURSOR'

'COBL-PRCTR'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=ENTE'.

w_rep = w_rep + 1.

ENDIF.

ENDDO.

PERFORM bdc_field USING 'BDC_OKCODE'

'=AE'.

PERFORM call_transaction.

ENDIF.

FORM call_transaction .

CALL TRANSACTION lv_tcode USING bdcdata

MODE 'N'

UPDATE 'S'

MESSAGES INTO messtab.

REFRESH bdcdata.

ENDFORM. " call_transaction

FORM bdc_dynpro USING program dynpro.

CLEAR bdcdata.

bdcdata-program = program.

bdcdata-dynpro = dynpro.

bdcdata-dynbegin = 'X'.

APPEND bdcdata.

ENDFORM.

FORM bdc_field USING fnam fval.

CLEAR bdcdata.

bdcdata-fnam = fnam.

bdcdata-fval = fval.

APPEND bdcdata.

ENDFORM.

And I am getting Short Dump …..

Runtime Error DBIF_RSQL_INVALID_CURSOR

Exception CX_SY_OPEN_SQL_DB

Can any one help me ASAP.

Thanks & Regards

Rajendra

3 REPLIES 3
Read only

Former Member
0 Likes
541

At what line, the coding shows the short dump. See that particular SELECT statement.

Regards,

Ravi

Note - Please mark all the helpful answers

Read only

former_member632991
Active Contributor
0 Likes
541

Hi ,

can u pls give the detail of short dump?

Regards,

Sonika

Read only

0 Likes
541

HI,

Actually I including this code in the RFFOUS_C Program, this pgm for Cheque printing Printing. After generate Cheques, in the Transaction FBO2 if we see the related Document. The Assignment field of all the line items must be filled with Cheque no. For this I included the above BDC code in the ZRFFOUS_C pgm. For this I am getting that short dump in the standard program coding selection statement.

Thanks & Regards

Rajendra