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 table control?

Former Member
0 Likes
8,655

Dear abapers,

after searching in scn i am posting this question

DATA: BEGIN OF it_xk01 OCCURS 0,
        f1(1),
        f2(5),
        f3(5),
        f4(9),
        f5(9),
      END OF it_xk01.
DATA: v_count(2) VALUE '00',
      v_koinh(14),
      v_banks(14),
      v_bankn(14),
      v_bankl(14),
      it_bdcdata TYPE STANDARD TABLE OF bdcdata WITH HEADER LINE,
      wa_ctuparams type ctu_params.
PARAMETERS: p_file TYPE rlgrap-filename OBLIGATORY.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
  PERFORM get_f4.
START-OF-SELECTION.
  PERFORM upload_data.
END-OF-SELECTION.
  LOOP AT it_xk01.
    IF it_xk01-f1 = 'H'.
      PERFORM bdc_dynpro      USING 'SAPMF02K' '0100'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'RF02K-KTOKK'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM bdc_field       USING 'RF02K-KTOKK'
                                    it_xk01-f2.
    ENDIF.
    IF it_xk01-f1 = 'N'.
      PERFORM bdc_dynpro      USING 'SAPMF02K' '0110'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'LFA1-PSTLZ'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=VW'.
      PERFORM bdc_field       USING 'LFA1-ANRED'
                                    'Mr'.
      PERFORM bdc_field       USING 'LFA1-NAME1'
                                    it_xk01-f2.
      PERFORM bdc_field       USING 'LFA1-SORTL'
                                    it_xk01-f3.
      PERFORM bdc_field       USING 'LFA1-PSTLZ'
                                    it_xk01-f4.
      PERFORM bdc_field       USING 'LFA1-LAND1'
                                    it_xk01-f5.
      PERFORM bdc_dynpro      USING 'SAPMF02K' '0120'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                    'LFA1-KUNNR'.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=VW'.
    ENDIF.
    IF it_xk01-f1 = 'I'.
      v_count = v_count + 1.
      IF v_count le 5.
      CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.
      CONCATENATE 'LFBK-BANKS(' v_count ')' INTO v_banks.
      CONCATENATE 'LFBK-BANKN(' v_count ')' INTO v_bankn.
      CONCATENATE 'LFBK-BANKL(' v_count ')' INTO v_bankl.
      CONDENSE v_koinh NO-GAPS.
      CONDENSE v_banks NO-GAPS.
      CONDENSE v_bankl NO-GAPS.
      CONDENSE v_bankn NO-GAPS.
      PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                     v_koinh.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM bdc_field       USING  v_banks
                                    it_xk01-f2.
      PERFORM bdc_field       USING  v_bankl
                                    it_xk01-f3.
      PERFORM bdc_field       USING  v_bankn
                                    it_xk01-f4.
      PERFORM bdc_field       USING  v_koinh
                                    it_xk01-f5.
      else.
      PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                     v_koinh.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '=P+'.
      v_count = 1.
      PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
      PERFORM bdc_field       USING 'BDC_CURSOR'
                                     v_koinh.
      PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
      CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.
      CONCATENATE 'LFBK-BANKS(' v_count ')' INTO v_banks.
      CONCATENATE 'LFBK-BANKN(' v_count ')' INTO v_bankn.
      CONCATENATE 'LFBK-BANKL(' v_count ')' INTO v_bankl.
      CONDENSE v_koinh NO-GAPS.
      CONDENSE v_banks NO-GAPS.
      CONDENSE v_bankl NO-GAPS.
      CONDENSE v_bankn NO-GAPS.
      PERFORM bdc_field       USING  v_banks
                                    it_xk01-f2.
      PERFORM bdc_field       USING  v_bankl
                                    it_xk01-f3.
      PERFORM bdc_field       USING  v_bankn
                                    it_xk01-f4.
      PERFORM bdc_field       USING  v_koinh
                                    it_xk01-f5.
      ENDIF.
    ENDIF.
    CLEAR it_xk01.
  ENDLOOP.
  PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
  PERFORM bdc_field       USING 'BDC_CURSOR'
                                     v_koinh.
  PERFORM bdc_field       USING 'BDC_OKCODE'
                                    '/00'.
  perform bdc_dynpro      using 'SAPLSPO1' '0300'.
  perform bdc_field       using 'BDC_OKCODE'
                                '=YES'.
  wa_ctuparams-DISMODE = 'A'.
  wa_ctuparams-UPDMODE = 'S'.
  wa_ctuparams-DEFSIZE = 'X'.
  CALL TRANSACTION 'XK01' USING it_bdcdata  MODE 'A'
                                             UPDATE 'S'.
  • options from wa_ctuparams.
  • MODE 'A'
  •                                             UPDATE 'S'.
&----
*&      Form  upload_data&----
  •       text
----
FORM upload_data .  DATA: lv_infile TYPE string.  lv_infile = p_file.  CALL FUNCTION 'GUI_UPLOAD'    EXPORTING      filename            = lv_infile      filetype            = 'ASC'      has_field_separator = 'X'    TABLES      data_tab            = it_xk01.  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.                    " upload_data &----
*&      Form  get_f4&----
  •       text
----
FORM get_f4 .  CALL FUNCTION 'F4_FILENAME'   EXPORTING     program_name        = syst-cprog     dynpro_number       = syst-dynnr
  •     FIELD_NAME          = ' '
   IMPORTING     file_name           = p_file.ENDFORM.                                                    " get_f4----
  •        Start new screen                                              *
----
FORM bdc_dynpro USING program dynpro.  CLEAR it_bdcdata.  it_bdcdata-program  = program.  it_bdcdata-dynpro   = dynpro.  it_bdcdata-dynbegin = 'X'.  APPEND it_bdcdata.ENDFORM.                    "BDC_DYNPRO ----
  •        Insert field                                                  *
----
FORM bdc_field USING fnam fval.
  • IF FVAL <> NODATA.
  CLEAR it_bdcdata.  it_bdcdata-fnam = fnam.  it_bdcdata-fval = fval.  APPEND it_bdcdata.
  • ENDIF.
ENDFORM.                    "BDC_FIELD
*******************************************************************************************************************************************flat file:
*H     0302
*N     Sahana     Raj     500020     IN
*I     IN     ICICI     734897597     sam
*I     IN     SBH     768346687     sekhar
*I     IN     SBI     345687346     satish
*I     IN     SBH     763846878     Phani
*I     IN     HSBC     797893778     Prakash
*I     IN     HDFC     723678638     Rajsekhar
*I     IN     4444     435645646     Shiva
*I     IN     3400     763468768     Ramana
the transaction is XK01.
*******************************************************************************************************************************
for my above source code i am getting the following error?
after "'LFBK-KOINH(",there must be a space or equivalent character(".",",",".")...
1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
8,587

CONCATENATE 'LFBK-KOINH' '(' v_count ')' INTO v_koinh.

if space is not there in between ' ' after KOINH error is:

after "'(",there must be a space or equivalent character(":",",",".")...

if space is there in between ' ' after KOINH error is:

after "'LFBK-KOINH(",there must be a space or equivalent character(":",",",".")...

38 REPLIES 38
Read only

Former Member
0 Likes
8,587

What is the value of v_koinh ?

The lenght of v_count should be two, and preeced with zero.

Regards,

Felipe

Read only

Former Member
0 Likes
8,587

change "v_count(2) VALUE '00'"  into v_count(2) VALUE '01'  then Try...

Regard's

Smruti

Read only

0 Likes
8,587

changed not working

Read only

Former Member
0 Likes
8,587

CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.

is this syntax is right or not in above code?

Read only

0 Likes
8,587

Yes it is right .m also Writing a BDC Program with Table Control it's working F9 ...for FF67 T-code . Please check below code ...

DATA: WRK_COUNT TYPE I VALUE 1.
DATA: WRK_MOD
TYPE I.
DATA: WRK_COL(2)
TYPE C VALUE '01'.

LOOP AT IT_FINAL.

WRK_MOD = WRK_COUNT MOD 16.
IF WRK_MOD = 0.
WRK_COUNT = 1.

WRK_COL = '01'.
      PERFORM SUB_POPULATE_DATA USING '' 'BDC_OKCODE'
'=/23'.
ENDIF.

CLEAR W_VGMAN.
CLEAR W_VALUT.
CLEAR W_KWBTR.
CLEAR W_XBLNR.
CLEAR W_GSBER_KF.


    CONCATENATE 'FEBMKA-VGMAN' '(' WRK_COL ')' INTO W_VGMAN.
CONCATENATE 'FEBEP-VALUT' '(' WRK_COL ')' INTO W_VALUT.
CONCATENATE 'FEBMKA-KWBTR' '(' WRK_COL ')' INTO W_KWBTR.
CONCATENATE 'FEBMKK-XBLNR' '(' WRK_COL ')' INTO W_XBLNR.
CONCATENATE 'FEBMKK-GSBER_KF' '(' WRK_COL ')' INTO W_GSBER_KF.

    PERFORM SUB_POPULATE_DATA USING:
'1' 'SAPMF40K' '8000',
*                           ' ' 'BDC_CURSOR' 'FEBMKK-GSBER_KF(02)',
' ' 'BDC_OKCODE' '=ZINS',
' ' W_VGMAN IT_FINAL-VGMAN,
' ' W_VALUT IT_FINAL-VALUT,
' ' W_KWBTR IT_FINAL-KWBTR,
' ' W_XBLNR IT_FINAL-XBLNR,
' ' W_GSBER_KF IT_FINAL-GSBER_KF.
ENDLOOP.

PERFORM SUB_POPULATE_DATA USING:
'1' 'SAPMF40K' '8000',
' ' 'BDC_OKCODE' '=SICH'.
PERFORM SUB_POPULATE_DATA USING:
'1' 'SAPMF40K' '0102',
' ' 'BDC_OKCODE' '=BUCH',
'1' 'SAPMF40K' '0102',
' ' 'BDC_OKCODE' '/EENDE'.

CALL TRANSACTION 'FF67' USING IT_BDCDATA MESSAGES INTO MESSTAB
UPDATE 'S'
MODE 'A'.

Remove  below line from ur Code ....

"CONDENSE V_KOINH NO-GAPS." then Try ..

Regard's

Smruti


Read only

0 Likes
8,587

can you plz provide me the complete program and input file also?

about BDC table control for the t.code'FF67'?

Read only

Former Member
0 Likes
8,587

after "'LFBK-KOINH(",there must be a space or equivalent character(":",",",".")...

this is my error at the line

CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.

Read only

0 Likes
8,587

CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.         " Ur

CONCATENATE 'LFBK-KOINH     '(' v_count ')' INTO v_koinh.           

add one '  as-trope  after KOINH . check my code ....

Regard's

Smruti

Read only

Former Member
0 Likes
8,587

removed CONDENSE V_KOINH NO-GAPS.

changed "v_count(2) VALUE '00'"  into v_count(2) VALUE '01' 

changed this also

CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.

CONCATENATE 'LFBK-KOINH'(' v_count ')' INTO v_koinh.

quotation mark

still it is not working?

Read only

0 Likes
8,587

CONCATENATE 'LFBK-KOINH '  '(' v_count ')' INTO v_koinh.    

Check after KOINH ?  and before  '(' ..


Read only

0 Likes
8,587

Replace below  Code with ur Existing Code ...

      CONCATENATE 'LFBK-KOINH' '(' v_count ')' INTO v_koinh.

      CONCATENATE 'LFBK-BANKS' '(' v_count ')' INTO v_banks.

      CONCATENATE 'LFBK-BANKN' '(' v_count ')' INTO v_bankn.

      CONCATENATE 'LFBK-BANKL' '(' v_count ')' INTO v_bankl.

Read only

Former Member
0 Likes
8,587

after adding one '  as-trope  after KOINH .

now the error is with out mentioning table and field name i.e.LFBK-KOINH coming at the line

CONCATENATE 'LFBK-KOINH'(' v_count ')' INTO v_koinh.

after "'(",there must be a space or equivalent character(":",",",".")...

Read only

0 Likes
8,587

Replace below  Code with ur Existing Code ...

      CONCATENATE 'LFBK-KOINH' '(' v_count ')' INTO v_koinh.

      CONCATENATE 'LFBK-BANKS' '(' v_count ')' INTO v_banks.

      CONCATENATE 'LFBK-BANKN' '(' v_count ')' INTO v_bankn.

      CONCATENATE 'LFBK-BANKL' '(' v_count ')' INTO v_bankl.

Read only

Former Member
0 Likes
8,588

CONCATENATE 'LFBK-KOINH' '(' v_count ')' INTO v_koinh.

if space is not there in between ' ' after KOINH error is:

after "'(",there must be a space or equivalent character(":",",",".")...

if space is there in between ' ' after KOINH error is:

after "'LFBK-KOINH(",there must be a space or equivalent character(":",",",".")...

Read only

0 Likes
8,587

CONCATENATE 'LFBK-KOINH' space  '('  space v_count space ')' INTO v_koinh.

give one space....

Read only

0 Likes
8,587

Read only

Former Member
0 Likes
8,587

Hi,

Try this,

   CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.

Give space after 'LFBK-KOINH(' then put v_count then give some space and put ')'.

Read only

Former Member
0 Likes
8,587

CONCATENATE 'LFBK-KOINH(' v_count ')' INTO v_koinh.

Give space after 'LFBK-KOINH(' then put v_count then give some space and put ')'.

done this but it is not working

Read only

Former Member
0 Likes
8,587

problem solved thanks smruti

Read only

Former Member
0 Likes
8,587

Hi all,

after executing the my bdc table control program screen shows as following,

do i need to click on enter button each and every record in the ok_code pop up box ?

is it will not enter the records automatically tcode?

or

do we need to run this program in background mode for automatic acceptance of records in tcode?

Read only

0 Likes
8,587

hi

if your program is working properly.

run the bdc with no screen mode (background).

then no need to give ok code every time.

hope it helps,

Vinoth.

Read only

0 Likes
8,587

CALL TRANSACTION 'XK01' USING IT_BDCDATA  MODE 'A'

                                              UPDATE 'S'.

change MODE 'N' ...

Read only

Former Member
0 Likes
8,587

changed in MODE 'N'

executed output screen shows as follows here i clicked execute button but screen shows again same like this

i checked LFA1 table for  records with country key 'IN' as my flat file is this but there are no records uploaded.

where to check the uploaded records?

Read only

0 Likes
8,587

hi,

debugg your process check call transaction command is executing correctly or not.

if it works in A mode it should work in N mode too.

hope it helps.

vinoth.

Read only

Former Member
0 Likes
8,587

while processing records how to check the status because we have given the MODE 'N'?

Read only

0 Likes
8,587

CALL TRANSACTION 'XK01' USING IT_BDCDATA  MODE 'N'

                                              UPDATE 'S' MESSAGES INTO MESSTAB.

here if there is any errors it will be captured in the table messtab. Please define messtab with BDCMSGCOLL and debug and check the table what error it shows.

Regards,

Vinoth.

Read only

0 Likes
8,587

Add dis Code after CALL TRANSACTION ......

LOOP AT MESSTAB.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID        = MESSTAB-MSGID
LANG      = SY-LANGU
NO        = MESSTAB-MSGNR
V1        = MESSTAB-MSGV1
V2        = MESSTAB-MSGV2
V3        = MESSTAB-MSGV3
V4        = MESSTAB-MSGV4
IMPORTING
MSG       = MSG_TXT
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.

IF MESSTAB-MSGTYP EQ 'E'.
WRITE:/10 MSG_TXT
COLOR 6.
ELSEIF MESSTAB-MSGTYP EQ 'S'.
WRITE:/10 MSG_TXT
COLOR 5.
ELSEIF MESSTAB-MSGTYP EQ 'W'.
WRITE:/10 MSG_TXT
COLOR 3.
ELSE.
WRITE:/10 MSG_TXT
COLOR 4.
ENDIF.
CLEAR MSG_TXT.
ENDLOOP.
ULINE.
REFRESH:IT_BDCDATA,MESSTAB. 

Read only

Former Member
0 Likes
8,587

where to specify the account group in flat file or in program?

Read only

Former Member
0 Likes
8,587

Now my program looks like following.......

i am getting error...........

it is urgent ....plz

DATA: BEGIN OF it_xk01 OCCURS 0,

        f1(1),

        f2(5),

        f3(5),

        f4(9),

        f5(9),

      END OF it_xk01.


DATA: v_count(2) VALUE '00',

      v_koinh(14),

      v_banks(14),

      v_bankn(14),

      v_bankl(14),

      it_bdcdata TYPE STANDARD TABLE OF bdcdata WITH HEADER LINE,

      wa_ctuparams type ctu_params.


DATA: v_count(2) VALUE '00',

      v_koinh(14),

      v_banks(14),

      v_bankn(14),

      v_bankl(14),

      it_bdcdata TYPE STANDARD TABLE OF bdcdata WITH HEADER LINE,

      wa_ctuparams type ctu_params.


PARAMETERS: p_file TYPE rlgrap-filename OBLIGATORY.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

  PERFORM get_f4.

START-OF-SELECTION.

  PERFORM upload_data.

END-OF-SELECTION.

  LOOP AT it_xk01.

    IF it_xk01-f1 = 'H'.


      PERFORM bdc_dynpro      USING 'SAPMF02K' '0100'.

      PERFORM bdc_field       USING 'BDC_CURSOR'

                                    'RF02K-KTOKK'.

      PERFORM bdc_field       USING 'BDC_OKCODE'

                                    '/00'.

      PERFORM bdc_field       USING 'RF02K-KTOKK'

                                    it_xk01-f2.

    ENDIF.

    IF it_xk01-f1 = 'N'.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0110'.

      PERFORM bdc_field       USING 'BDC_CURSOR'

                                    'LFA1-PSTLZ'.

      PERFORM bdc_field       USING 'BDC_OKCODE'

                                    '=VW'.

      PERFORM bdc_field       USING 'LFA1-ANRED'

                                    'Mr'.

      PERFORM bdc_field       USING 'LFA1-NAME1'

                                    it_xk01-f2.

      PERFORM bdc_field       USING 'LFA1-SORTL'

                                    it_xk01-f3.

      PERFORM bdc_field       USING 'LFA1-PSTLZ'

                                    it_xk01-f4.

      PERFORM bdc_field       USING 'LFA1-LAND1'

                                    it_xk01-f5.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0120'.

      PERFORM bdc_field       USING 'BDC_CURSOR'

                                    'LFA1-KUNNR'.

      PERFORM bdc_field       USING 'BDC_OKCODE'

                                    '=VW'.

    ENDIF.

    IF it_xk01-f1 = 'I'.

      v_count = v_count + 1.

      IF v_count le 5.

      CONCATENATE 'LFBK-KOINH'  '('  v_count  ')' INTO v_koinh.

      CONCATENATE 'LFBK-BANKS'  '('  v_count  ')' INTO v_banks.

      CONCATENATE 'LFBK-BANKN'  '('  v_count  ')' INTO v_bankn.

      CONCATENATE 'LFBK-BANKL'  '('  v_count  ')' INTO v_bankl.

      CONDENSE v_koinh NO-GAPS.

      CONDENSE v_banks NO-GAPS.

      CONDENSE v_bankl NO-GAPS.

      CONDENSE v_bankn NO-GAPS.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.

      PERFORM bdc_field       USING 'BDC_CURSOR'

                                     v_koinh.

      PERFORM bdc_field       USING 'BDC_OKCODE'

                                    '/00'.

      PERFORM bdc_field       USING  v_banks

                                    it_xk01-f2.

      PERFORM bdc_field       USING  v_bankl

                                    it_xk01-f3.

      PERFORM bdc_field       USING  v_bankn

                                    it_xk01-f4.

      PERFORM bdc_field       USING  v_koinh

                                    it_xk01-f5.

      else.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.

      PERFORM bdc_field       USING 'BDC_CURSOR'

                                     v_koinh.

      PERFORM bdc_field       USING 'BDC_OKCODE'

                                    '=P+'.

      v_count = 1.

      PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.

      PERFORM bdc_field       USING 'BDC_CURSOR'

                                     v_koinh.

      PERFORM bdc_field       USING 'BDC_OKCODE'

                                    '/00'.

      CONCATENATE 'LFBK-KOINH'  '('  v_count  ')' INTO v_koinh.

      CONCATENATE 'LFBK-BANKS'  '('  v_count  ')' INTO v_banks.

      CONCATENATE 'LFBK-BANKN'  '('  v_count  ')' INTO v_bankn.

      CONCATENATE 'LFBK-BANKL'  '('  v_count  ')' INTO v_bankl.

      CONDENSE v_koinh NO-GAPS.

      CONDENSE v_banks NO-GAPS.

      CONDENSE v_bankl NO-GAPS.

      CONDENSE v_bankn NO-GAPS.

      PERFORM bdc_field       USING  v_banks

                                    it_xk01-f2.

      PERFORM bdc_field       USING  v_bankl

                                    it_xk01-f3.

      PERFORM bdc_field       USING  v_bankn

                                    it_xk01-f4.

      PERFORM bdc_field       USING  v_koinh

                                    it_xk01-f5.

      ENDIF.

    ENDIF.

    CLEAR it_xk01.

  ENDLOOP.

  PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.

  PERFORM bdc_field       USING 'BDC_CURSOR'

                                     v_koinh.

  PERFORM bdc_field       USING 'BDC_OKCODE'

                                    '/00'.

  perform bdc_dynpro      using 'SAPLSPO1' '0300'.

  perform bdc_field       using 'BDC_OKCODE'

                                '=YES'.

  wa_ctuparams-DISMODE = 'A'.

  wa_ctuparams-UPDMODE = 'S'.

  wa_ctuparams-DEFSIZE = 'X'.

data:begin of messtab occurs 0.

               include structure bdcmsgcoll.

          end of messtab.

data:msg_txt(100).

  CALL TRANSACTION 'XK01' USING it_bdcdata  MODE 'N'

                                             UPDATE 'S'.

LOOP AT MESSTAB.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID        = MESSTAB-MSGID
LANG      = SY-LANGU
NO        = MESSTAB-MSGNR
V1        = MESSTAB-MSGV1
V2        = MESSTAB-MSGV2
V3        = MESSTAB-MSGV3
V4        = MESSTAB-MSGV4
IMPORTING
MSG       = MSG_TXT
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.

IF MESSTAB-MSGTYP EQ 'E'.
WRITE:/10 MSG_TXT
COLOR 6.
ELSEIF MESSTAB-MSGTYP EQ 'S'.
WRITE:/10 MSG_TXT
COLOR 5.
ELSEIF MESSTAB-MSGTYP EQ 'W'.
WRITE:/10 MSG_TXT
COLOR 3.
ELSE.
WRITE:/10 MSG_TXT
COLOR 4.
ENDIF.
CLEAR MSG_TXT.
ENDLOOP.
ULINE.
REFRESH:IT_BDCDATA,MESSTAB. 

&----
--------------------------------------------------------------------------------
*&      Form  upload_data&----
--------------------------------------------------------------------------------

•      text

----
--------------------------------------------------------------------------------
FORM upload_data .  DATA: lv_infile TYPE string.  lv_infile = p_file.  CALL FUNCTION 'GUI_UPLOAD'    EXPORTING      filename            = lv_infile      filetype            = 'ASC'      has_field_separator = 'X'    TABLES      data_tab            = it_xk01.  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.                    " upload_data &----
--------------------------------------------------------------------------------
*&      Form  get_f4&----
--------------------------------------------------------------------------------

•      text

----
--------------------------------------------------------------------------------
FORM get_f4 .  CALL FUNCTION 'F4_FILENAME'   EXPORTING     program_name        = syst-cprog     dynpro_number       = syst-dynnr
•    FIELD_NAME          = ' '

   IMPORTING     file_name           = p_file.ENDFORM.                                                    " get_f4----
--------------------------------------------------------------------------------

•       Start new screen                                              *

----
--------------------------------------------------------------------------------
FORM bdc_dynpro USING program dynpro.  CLEAR it_bdcdata.  it_bdcdata-program  = program.  it_bdcdata-dynpro   = dynpro.  it_bdcdata-dynbegin = 'X'.  APPEND it_bdcdata.ENDFORM.                    "BDC_DYNPRO ----
--------------------------------------------------------------------------------

•       Insert field                                                  *

----
--------------------------------------------------------------------------------
FORM bdc_field USING fnam fval.
• IF FVAL <> NODATA.

  CLEAR it_bdcdata.  it_bdcdata-fnam = fnam.  it_bdcdata-fval = fval.  APPEND it_bdcdata.
• ENDIF.

ENDFORM.                    "BDC_FIELD

Read only

Former Member
0 Likes
8,587

my input file:

file:

H     0302

N     Sahana     Raj     500020     IN

I     IN     ICICI     734897597     sam

I     IN     SBH     768346687     sekhar

I     IN     SBI     345687346     satish

I     IN     SBH     763846878     Phani

I     IN     HSBC     797893778     Prakash

I     IN     HDFC     723678638     Rajsekhar

I     IN     4444     435645646     Shiva

I     IN     3400     763468768     Ramana

why error occuring? where might be the problem? urgent plz.....

Read only

0 Likes
8,587

For testing and during development replace MODE 'N' with MODE 'A' or MODE 'E' to get the error displayed in context, missing dynpro, field unknown, invalid/bad format data, etc..

Regards,

Raymond

Read only

Former Member
0 Likes
8,586

I replaced MODE 'N' with MODE 'A', same error  description is appearing in status bar?

where to specify the account group?

Read only

0 Likes
8,586

In the input file, in H row, the account group value must be specified.

which field value is 0302 ?

Read only

Former Member
0 Likes
8,586

now i executed the program with following values

I     IN     ICICI     734897597     sam

I     IN     SBI     345687346     satish

I     IN     SBH     763846878     Phani

I     IN     HSBC     797893778     Prakash

I     IN     HDFC     723678638     Rajsekhar

I     IN     4444     435645646     Shiva

I     IN     3400     763468768     Ramana

it is showing 'XK01' initial screen only? if it is successfully uploads data, what it has to show?

Read only

0 Likes
8,586

If you are creating vendor, the account group is mandatory, ask functional for value to use, and rebuild your program with a correct SHDB. How did you create your code if you did not executed XK01 under SHDB. This is not required if you use XK02 to only change bank coordinates of an existing vendor.

Regards,

Raymond

Read only

Former Member
0 Likes
8,586

my code i modifed it after recording in SHDB.

do i need maintain account group value in program?

Read only

Former Member
0 Likes
8,586

can any body just have a look about my program and tell me for specifying where to maintain the account group?

while recording 'XK01',?

or

while writeing the program?

or

in the uploading file?

Read only

Former Member
0 Likes
8,586

hi abapers,

can anybody look into my program and plz guide where exactly this specifying account group goes wrong?