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

RFc error

Former Member
0 Likes
447

hi

can any body tell me why error this coming.

I try to Undate data in table KNA1.

plz help me.

'PERFORM BDC_INIT. does not exit

FUNCTION ZRFC_CUSTOMER_UPDATE.

*"----


""Global Interface:

*" EXPORTING

*" VALUE(RFCRC) LIKE SY-SUBRC

*" VALUE(ERROR_TEXT) LIKE T100-TEXT

*" TABLES

*" CUSTOMER_T STRUCTURE BRFCKNA1

*" EXCEPTIONS

*" UPDATE_ERROR

*"----


DATA UPDATE_VIA_CALL_TRANSACTION VALUE 'X'.

LOOP AT CUSTOMER_T.

IF UPDATE_VIA_CALL_TRANSACTION = 'X'.

  • update via CALL TRANSACTION

PERFORM BDC_INIT.

PERFORM BDC_NEXT_DYNPRO USING 'SAPMF02D' 101.

PERFORM BDC_SET_FIELD USING 'RF02D-KUNNR' CUSTOMER_T-KUNNR.

PERFORM BDC_SET_FIELD USING 'RF02D-D0110' 'X'.

PERFORM BDC_NEXT_DYNPRO USING 'SAPMF02D' 110.

PERFORM BDC_SET_FIELD USING 'KNA1-ANRED' CUSTOMER_T-ANRED.

PERFORM BDC_SET_FIELD USING 'KNA1-NAME1' CUSTOMER_T-NAME1.

PERFORM BDC_SET_FIELD USING 'KNA1-PFACH' CUSTOMER_T-PFACH.

PERFORM BDC_SET_FIELD USING 'KNA1-STRAS' CUSTOMER_T-STRAS.

PERFORM BDC_SET_FIELD USING 'KNA1-PSTLZ' CUSTOMER_T-PSTLZ.

PERFORM BDC_SET_FIELD USING 'KNA1-ORT01' CUSTOMER_T-ORT01.

PERFORM BDC_SET_FIELD USING 'KNA1-TELF1' CUSTOMER_T-TELF1.

PERFORM BDC_SET_FIELD USING 'KNA1-TELFX' CUSTOMER_T-TELFX.

PERFORM BDC_SET_FIELD USING 'BDC_OKCODE' '=UPDA'.

PERFORM BDC_CALL USING 'XD02' CHANGING ERROR_TEXT.

ELSE.

  • update via SAP SQL

UPDATE KNA1 SET

ANRED = CUSTOMER_T-ANRED

NAME1 = CUSTOMER_T-NAME1

PFACH = CUSTOMER_T-PFACH

STRAS = CUSTOMER_T-STRAS

PSTLZ = CUSTOMER_T-PSTLZ

ORT01 = CUSTOMER_T-ORT01

TELF1 = CUSTOMER_T-TELF1

TELFX = CUSTOMER_T-TELFX

WHERE KUNNR = CUSTOMER_T-KUNNR.

ENDIF.

  • exception handling

IF SY-SUBRC NE 0.

RFCRC = SY-SUBRC.

  • raise update_error.

ENDIF.

ENDLOOP.

*

ENDFUNCTION.

*----


*

  • Start new screen

*

*----


*

FORM BDC_NEXT_DYNPRO USING program dynpro.

CLEAR BDC_CALL.

BDC_CALL-program = program.

BDC_CALL-dynpro = dynpro.

BDC_CALL-dynbegin = 'X'.

APPEND BDC_CALL.

ENDFORM. "BDC_NEXT_DYNPRO

*----


*

  • Insert field

*

*----


*

FORM BDC_SET_FIELD USING fnam fval.

IF fval <> space.

CLEAR BDC_CALL.

BDC_CALL-fnam = fnam.

BDC_CALL-fval = fval.

APPEND BDC_CALL.

ENDIF.

ENDFORM. "BDC_SET_FIELD

2 REPLIES 2
Read only

Former Member
0 Likes
420

hi chandan,

you have written a PERFORM BDC_INIT.

but have you written the FORM for that??

FORM BDC_INIT.

ENDFORM.

Read only

marcelo_ramos1
SAP Mentor
SAP Mentor
0 Likes
420

Hi,

You've informed only two routines ''BDC_NEXT_DYNPRO" and BDC_SET_FIELD. but you are calling 3 routines.

It seems that you forgot to declare “BDC_INIT” or “BDC_INIT” does't belong to the Function group.

Regards.

Marcelo Ramos