Application Development 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: 

issue about RFBIBL00

Former Member
0 Kudos

HI,

i am working with RFBIBL00 program to upload FI documents.

i have written the program like below.it is creating a session,after creating the session it is going to dump,i am not able to process that too.

<b>DUMP:</b>CONVT_NO_NUMBER

short text:unable to interpret '/' as a number.this is coming in include RFBIBL02

it is very urgent for me.can any body suggest me some ideas.

tables:BGR00,BBKPF,BBSEG.

DATA:CA_NODATA VALUE '/'.

DATA VA_FILE(128) VALUE 'myfile'.

DATA:p_name like BGR00-GROUP value 'ROSE'.

DATA:BEGIN OF itab OCCURS 0,

BUKRS like BKPF-BUKRS,

BELNR like BKPF-BELNR,

no(2),

GJAHR like BKPF-GJAHR,

BLART like BKPF-BLART,

BLDAT like BKPF-BLDAT,

BUDAT like BKPF-BUDAT,

MONAT like BKPF-MONAT,

XBLNR like BKPF-XBLNR,

BKTXT like BKPF-BKTXT,

WAERS like BKPF-WAERS,

BSCHL like BSEG-BSCHL,

HKONT like BSEG-HKONT,

WRBTR like BSEG-WRBTR,

ZUONR like BSEG-ZUONR,

SGTXT like BSEG-SGTXT,

KTOSL like BSEG-KTOSL,

AUFNR like BSEG-AUFNR,

PRCTR like BSEG-PRCTR,

IMKEY like BSEG-IMKEY,

PROJK like BSEG-PROJK,

END OF itab.

data:jtab like ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

filename = 'D:\BHARAT\specs\others\FI\gl_item.xls'

i_begin_col = '1'

i_begin_row = '2'

i_end_col = '21'

i_end_row = '90'

TABLES

intern = jtab

EXCEPTIONS

inconsistent_parameters = 1

upload_ole = 2

OTHERS = 3.

IF sy-subrc <> 0.

MESSAGE e001(ztmw).

ENDIF.

SORT jtab BY row col.

LOOP AT jtab.

  • write:/ jtab-row,jtab-col,jtab-value.

CASE jtab-col.

WHEN 1.

itab-bukrs = jtab-value.

WHEN 2.

itab-belnr = jtab-value.

WHEN 3.

itab-no = jtab-value.

WHEN 4.

itab-GJAHR = jtab-value.

WHEN 5.

itab-BLART = jtab-value.

WHEN 6.

itab-BLDAT = jtab-value.

WHEN 7.

itab-BUDAT = jtab-value.

WHEN 8.

itab-MONAT = jtab-value.

WHEN 9.

itab-XBLNR = jtab-value.

WHEN 10.

itab-BKTXT = jtab-value.

WHEN 11.

itab-WAERS = jtab-value.

WHEN 12.

itab-BSCHL = jtab-value.

WHEN 13.

itab-HKONT = jtab-value.

WHEN 14.

itab-WRBTR = jtab-value.

WHEN 15.

itab-ZUONR = jtab-value.

WHEN 16.

itab-SGTXT = jtab-value.

WHEN 17.

itab-KTOSL = jtab-value.

WHEN 18.

itab-AUFNR = jtab-value.

WHEN 19.

itab-PRCTR = jtab-value.

WHEN 20.

itab-IMKEY = jtab-value.

WHEN 21.

itab-PROJK = jtab-value.

ENDCASE.

at END OF row.

APPEND itab.

endat.

ENDLOOP.

LOOP AT itab.

write:/ itab-BUKRS,itab-BELNR,itab-no,itab-GJAHR,itab-BLART,

itab-BLDAT,itab-BUDAT,itab-MONAT,itab-XBLNR,itab-BKTXT,

itab-WAERS,itab-BSCHL,itab-HKONT,itab-WRBTR,itab-ZUONR,

itab-SGTXT,itab-KTOSL,itab-AUFNR,itab-PRCTR,itab-IMKEY,

itab-PROJK.

ENDLOOP.

LOOP AT itab.

  • Open file

OPEN DATASET VA_FILE FOR OUTPUT IN text mode

encoding UTF-8.

  • Transfer BGR00 data

BGR00-STYPE = '0'.

BGR00-GROUP = P_NAME.

BGR00-MANDT = SY-MANDT.

BGR00-USNAM = SY-UNAME.

  • BGR00-START = ' '.

BGR00-XKEEP = 'X'.

BGR00-NODATA = '/'.

TRANSFER BGR00 TO VA_FILE.

  • Transfer BBKPF data

PERFORM SET_NO_DATA USING BBKPF.

BBKPF-STYPE = '1'.

BBKPF-TCODE = 'FB01'.

BBKPF-BELNR = itab-BELNR.

BBKPF-BUKRS = itab-BUKRS.

BBKPF-BLART = itab-BLART.

BBKPF-WAERS = itab-WAERS.

BBKPF-BLDAT = itab-BLDAT.

BBKPF-BUDAT = itab-BUDAT.

BBKPF-XBLNR = itab-XBLNR.

BBKPF-BKTXT = itab-BKTXT.

BBKPF-SENDE = ca_nodata.

TRANSFER BBKPF TO VA_FILE.

  • Transfer BBSEG data

PERFORM SET_NO_DATA USING BBSEG.

BBSEG-STYPE = '2'.

BBSEG-TBNAM = 'BBSEG'.

BBSEG-NEWKO = itab-no.

BBSEG-NEWBS = itab-BSCHL.

BBSEG-HKONT = itab-HKONT.

BBSEG-WRBTR = itab-WRBTR.

BBSEG-ZUONR = itab-ZUONR.

BBSEG-SGTXT = itab-SGTXT.

  • BBSEG-KOSTL = itab-KOSTL.

BBSEG-AUFNR = itab-AUFNR.

BBSEG-PRCTR = itab-PRCTR.

BBSEG-PROJK = itab-PROJK.

BBSEG-IMKEY = itab-IMKEY.

BBSEG-SENDE = ca_nodata.

TRANSFER BBSEG TO VA_FILE.

CLOSE DATASET VA_FILE.

ENDLOOP.

SUBMIT RFBIBL00 WITH DS_NAME = VA_FILE

WITH CALLMODE = 'B' AND RETURN.

FORM SET_NO_DATA USING P_STRUCT.

DATA: COUNTER TYPE I.

FIELD-SYMBOLS : <FS>.

CLEAR COUNTER.

DO.

ADD 1 TO COUNTER.

ASSIGN COMPONENT COUNTER OF STRUCTURE P_STRUCT TO <FS>.

IF SY-SUBRC NE 0.

EXIT.

ENDIF.

IF <fs> is not initial.

MOVE CA_NODATA TO <FS>.

ENDIF.

ENDDO.

ENDFORM.

thanks & regards,

nag.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Nagarjuna,

In SAP genarated BDC programs I've been observed NODATA indicator is declared as '/' lower case. I'm not sure why lower case... so you can try in your program like this..


*DATA:CA_NODATA VALUE '/'.
PARAMETERS : NODATA DEFAULT '/' LOWER CASE NO-DISPALY. 
"replace all CA_NODATA with NODATA
"please let me know..it's only trail n error.. :)

18 REPLIES 18

Former Member
0 Kudos

Hi,

Where exactly the processing was stopped check in st22

it points at wat pont it stopped in your code

Regards,

siva.

0 Kudos

Hi,

i saw that.and already mentioned it in the thread itself.

somebodey please help me.i think it is the problem with the program RFBIBL00.

thanks and regards,

nag.

Former Member
0 Kudos

HI,

Ok thanks for your answer

Regards.........................

Former Member
0 Kudos

Hi Nagarjuna,

In SAP genarated BDC programs I've been observed NODATA indicator is declared as '/' lower case. I'm not sure why lower case... so you can try in your program like this..


*DATA:CA_NODATA VALUE '/'.
PARAMETERS : NODATA DEFAULT '/' LOWER CASE NO-DISPALY. 
"replace all CA_NODATA with NODATA
"please let me know..it's only trail n error.. :)

0 Kudos

HI,

i tried it but no use.

any way thanks.any more help please..

regards,

nag.

0 Kudos

I think if u look at the source code extract u will see the dump occuring at

MOVE CA_NODATA TO <FS>.

because u are trying to move a char type to a type I variable...

either make ur counter numeric or CA_NODATA type I.

santhosh

0 Kudos

HI,

everybody the problem is coming in RFBIBL00 program(submit statement).

its not the problem with this code.

rgds,

nag.

JozsefSzikszai
Active Contributor
0 Kudos

hi Nag,

replace this line:

DATA:CA_NODATA VALUE '/'.

with:

DATA:CA_NODATA VALUE ' '.

so instead / there should be only <i>space</i>

hope this helps

ec

0 Kudos

HI eric,

thanks for the reply.

i tried that one too.

in that case also it is giving the same error.

rgds,

nag.

0 Kudos

Nag,

I found one more line in your program :

BGR00-NODATA = '/'.

please replace this one as well, like the one above (i.e. space instead of /)!

0 Kudos

HI,

in that case also getting dump.

please anyone help me who worked on that.

rgds,

nag.

0 Kudos

I still believe the problem is with '/' somewhere... (I has this issue earlier and the solution was to replace with space).

Pls. check you file (which is submitted to RFBIBLA00), that it does not contain any / . On the other hand it can also happen, that somewhere (where normally a number should be) is nothing and that is replaced with / by the system in RFBIBL... In this case ensure that in your file there is at least a zero (instead of no number)

0 Kudos

Eric,

thanks for the reply.

here in my program i am using this <b>BBSEG-SENDE = ca_nodata."ca_nodata = '/'</b>this is for mentioning the end of the segment.can u pls tell me some more tips.

using this program.if possible send me some example code.

rgds,

nag.

Former Member
0 Kudos

u might want to put a break point in program : <b>RFBIBL01</b>and the include u r looking for is called in this and check at what field the short dump occurs.

Also ur saying that the dump occurs after creating session. the session is created in the POSTING INTERFACE fms POSTING_INTERFACE_START /

POSTING_INTERFACE_DOCUMENT you might want to check these also.

naimesh_patel
Active Contributor
0 Kudos

Problem lies here:

FORM SET_NO_DATA USING P_STRUCT.
DATA: COUNTER TYPE I.
FIELD-SYMBOLS : <FS>.
CLEAR COUNTER.
DO.
ADD 1 TO COUNTER.
ASSIGN COMPONENT COUNTER OF STRUCTURE P_STRUCT TO <FS>.
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
*IF <fs> is not initial.
IF <FS> IS INITIAL.   " <<<<  You have to move CA_NODATA when you have field empty
MOVE CA_NODATA TO <FS>.
ENDIF.
ENDDO.
ENDFORM.

Regards,

Naimesh Patel

0 Kudos

HI,

thanks for the replies.

even if i pass space also.this dump is coming.

any more help please...

rgds,

nag.

0 Kudos

Please post the portion of the dump that includes the code.

Rob

Former Member
0 Kudos

It's because somewhere in your program you are putting the nodata character '/' in the wrong position of your field. check your output data.

Rob