‎2007 Jul 18 5:18 PM
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
‎2007 Jul 18 5:31 PM
hi chandan,
you have written a PERFORM BDC_INIT.
but have you written the FORM for that??
FORM BDC_INIT.
ENDFORM.
‎2007 Jul 18 8:12 PM
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