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

error in BDC CALL TRANSACTION METHOD..

Former Member
0 Likes
695

hai i got an error in doing BDC CALL TRANSACTION METHOD

Error:diffrent number of parameters in FORM and PERFORM(routine :FILL_SCREEN_DETAILS:,number of formal parameters :3,number of actual parameters:1)

PROGRAM

REPORT  ZDEMO_UPLOAD_COST_CENTER_DATA.

DATA:BEGIN OF WA_DATA,
KOKRS TYPE KOKRS,"CONTROLLING AREA
KOSTL TYPE KOSTL,"COST CENTER
DATAB TYPE DATAB,"START DATE
DATBI TYPE DATBI,"END DATE
KTEXT TYPE KTEXT,"NAME
LTEXT TYPE LTEXT,"DESCRIPTION
VERAK TYPE VERAK,"PERSON RESPONSIBLE
KOSAR TYPE KOSAR, "COST CENTER CATEGORY
KHINR TYPE KHINR,"HIERARCHY AREA
BUKRS TYPE BUKRS,"COMPANY CODE
GSBER TYPE GSBER,"BUISINESS AREA
END OF WA_DATA.

*TYPES:IT_DATA TYPE STANDARD TABLE OF TY_DATA.

 DATA:IT_DATA LIKE TABLE OF WA_DATA,
      IT_BDCDATA LIKE TABLE OF BDCDATA,
      WA_BDCDATA LIKE LINE OF IT_BDCDATA,
      IT_BDCMSGCOLL LIKE TABLE OF BDCMSGCOLL,
      WA_BDCMSGCOLL LIKE LINE OF IT_BDCMSGCOLL.
 DATA :V_FILE TYPE STRING.

 CONSTANTS :C_KS01(4) TYPE C  VALUE 'KS01',
            C_X(1) TYPE C VALUE 'X',
            C_A(1) TYPE C VALUE 'A'.


SELECTION-SCREEN:BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
PARAMETER :PA_FILE LIKE FC03TAB-PL00_FILE OBLIGATORY.
SELECTION-SCREEN:END OF BLOCK B1.


*AT SELECTION SCREEN ON VALUE REQUEST

* EVENT TO BE TRIGGERED WHEN WE PRESS F4.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_FILE.
PERFORM GET_F4_FOR_FILE USING PA_FILE.

*************************************
*         START-OF-SELECTION

*********************************

START-OF-SELECTION.
*WE NEED TO MOVE THE PA_FILE INTO ANOTHER VARIABLE OF TYPE STRING
*AS WE ARE GOING TO USE THE SAME IN THE FM:GUI_UPLOAD THERE THE FILE TYPE IS STRING

V_FILE = PA_FILE.


PERFORM UPLOAD_FILE_T0_ITAB USING V_FILE CHANGING IT_DATA.

*FILL THE SCREEN AND FIELD DETAILS

LOOP AT IT_DATA INTO WA_DATA.

REFRESH IT_BDCDATA.

*FIRST SCREEN DETAILS

PERFORM FILL_SCREEN_DETAILS USING 'SAPLKMA1''0200''X'.


*CURSOR DETAILS

PERFORM FILL_FIELD_DETAILS USING 'BDC_CURSOR''CSKSZ-KOKRS'.

*OK CODE DETAILS
PERFORM FILL_FIELD_DETAILS USING 'BDC_OKCODE''/00'.

*CONTROLLING AREA

PERFORM FILL_FIELD_DETAILS USING 'CSKSZ-KOKRS' WA_DATA-KOKRS.


*COST CENTER DETAILS
PERFORM FILL_FIELD_DETAILS USING 'CSKSZ-KOSTL' WA_DATA-KOSTL.

* START DATE
PERFORM FILL_FIELD_DETAILS USING 'CSKSZ-DATAB_ANFO' WA_DATA-DATAB.

*END DATE
PERFORM FILL_FIELD_DETAILS USING 'CSKSZ-DATBI_ANFO' WA_DATA-DATBI.

*NEXT SCREEN DETAILS
PERFORM FILL_SCREEN_DETAILS USING 'SAPLKMA1''0299''X'.

*OKCODE DETAILS

PERFORM FILL_FIELD_DETAILS USING 'BDC_OKCODE''=BU'.

*SUBSCRN FIELD DETAILS

PERFORM FILL_FIELD_DETAILS USING 'BDC_SUBSCR''BDC-SUBSCR'.

*CURSOR DETAILS

PERFORM FILL_FIELD_DETAILS USING 'BDC_CURSOR''CSKSZ-WAERS'.

*NAME

PERFORM FILL_FIELD_DETAILS USING 'CSKSZ-KTEXT' WA_DATA-KTEXT.

*DESCRIPTION
PERFORM FILL_FIELD_DETAILS USING 'CSKSZ-LTEXT' WA_DATA-LTEXT.

*PERSON RESPONSIBLE

PERFORM FILL_FIELD_DETAILS USING 'CSKSZ-VERAK' WA_DATA-VERAK.

*COST CENTER CATEGORY
PERFORM FILL_FIELD_DETAILS USING'CSKSZ-KOSAR' WA_DATA-KOSAR.

*HIERARCHY AREA

PERFORM FILL_FIELD_DETAILS USING 'CSKSZ-KHINR' WA_DATA-KHINR.

*COMPANY CODE
PERFORM FILL_FIELD_DETAILS USING 'CSKSZ-BUKRS' WA_DATA-BUKRS.


*BUISINESS AREA

PERFORM FILL_FIELD_DETAILS USING 'CSKSZ-GSBER' WA_DATA-GSBER.

*CALL THE TRANSACTION

CALL TRANSACTION C_KS01 USING IT_BDCDATA
                          MODE C_A "ALL SCREENS
                                   "N-NO SCREENS
                                   "E-ERROR SCREENS ONLY
                          UPDATE 'A' "ASYNCHRONOUS
                                      "SYNCHRONOUS
                          MESSAGES INTO IT_BDCMSGCOLL.


ENDLOOP.



***************************************
* FORM FILL SCREEN_DETAILS
***************************************

FORM FILL_SCREEN_DETAILS  USING PROGRAM LIKE BDCDATA-PROGRAM
                       DYNPRO LIKE BDCDATA-DYNPRO
                       DYNBEGIN LIKE BDCDATA-DYNBEGIN.
 CLEAR WA_BDCDATA.

WA_BDCDATA-PROGRAM = PROGRAM.
WA_BDCDATA-DYNPRO = DYNPRO.
WA_BDCDATA-DYNBEGIN = DYNBEGIN.

APPEND WA_BDCDATA TO IT_BDCDATA.
ENDOFRM.

*****************************************
* FORM FILL_FIELD_DETAILS
**********************************************

 FORM FILL_FIELD_DETAILS USING FNAM FVAL.

 CLEAR WA_BDCDATA.

 WA_BDCDATA-FNAM = FNAM.
 WA_BDCDATA-FVAL = FVAL.
 APPEND WA_BDCDATA TO IT_BDCDATA.
 ENDFORM.

*************************
* FORM GETE_F4_FOR_FILE
**************************
*******************************************
*DISPLAY ALL THE  FILES IN THE SYSTEM FOR SELECTION
**********************************************

******************************************************
*P_PA_FILE NAME OF THE FILE
***************************************************

 FORM GET_F4_FOR_FILE USING P_PA_FILE.

 CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
*  EXPORTING
*    PROGRAM_NAME        = SYST-REPID
*    DYNPRO_NUMBER       = SYST-DYNNR
    FIELD_NAME          = 'PA_FILE'
*    STATIC              = ' '
*    MASK                = ' '
   CHANGING
     FILE_NAME           = PA_FILE.
*  EXCEPTIONS
*    MASK_TOO_LONG       = 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.
ENDFORM.

**********************************************
* FORM UPLOAD_FILE_TO_ITAB
**********************************************
*********************************************
* FP_V_FILE = FILE NAME
*FP_IT_DATA =  INTERNAL TABLE TO STORE THE DATA
************************************************

FORM UPLOAD_FILE_TO_ITAB USING FP_V_FILE CHANGING FP_IT_DATA LIKE IT_DATA.


CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
    FILENAME                      = FP_V_FILE
  HAS_FIELD_SEPARATOR           = ' X'
  TABLES
    DATA_TAB                      =FP_IT_DATA.
ENDFORM.

Edited by: saifudheenc on Aug 7, 2010 5:09 PM

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
467

hi

try to add spaces between parameters :

example:


PERFORM FILL_SCREEN_DETAILS USING 'SAPLKMA1' '0200' 'X'.

regards,darek

2 REPLIES 2
Read only

Former Member
0 Likes
468

hi

try to add spaces between parameters :

example:


PERFORM FILL_SCREEN_DETAILS USING 'SAPLKMA1' '0200' 'X'.

regards,darek

Read only

0 Likes
467

YES...ITS SOLVED MY PROBLEM......thanks a lot....