cancel
Showing results for 
Search instead for 
Did you mean: 

runtime error when executing driver program

Former Member
0 Kudos

when im executing my report after passing smartform to it , by giving invoice number in selectionscreen,it's generating runtime error as

the call to the function module '/1BCDWB/SF00000032' is incorrect:

in the function module interface, u can only specify fields of a specific type and

length under "s_final".although the currently specified field " " is the correct type,

it's length is incorrect.

i declared s_final in forminterface->tables as s_final like zform1.

i defined zform1 with fields which are in t_final.

please suggest where im going wrong.

TYPES : BEGIN OF TY_FINAL,

  • VBELN TYPE VBRP-VBELN,"INVOICE NO

  • ADRNR TYPE KNA1-ADRNR, "ADDRESS FOR CONSIGNEE

  • BSTKD TYPE VBKD-BSTKD, "PO NUMBER

  • BSTDK TYPE VBKD-BSTDK, "PO DATE

ARKTX TYPE VBRP-ARKTX, "DESCRITION

  • PACK TYPE I, "NO OF PACKAGES

  • UMREZ TYPE SMEINH-UMREZ, "AVG. CONTENTS PER PACKAGE IN KGS

FKIMG TYPE VBRP-FKIMG, "TOTAL QTY IN KGS

KNUMV TYPE KONV-KNUMV,

KBETR TYPE KONV-KBETR, "SELLING RATE/KG

  • KBETR1 TYPE KONV-KBETR,

KWERT TYPE KONV-KWERT,

TARIFF TYPE ZFORM1-TARIFF,

DUTY TYPE ZFORM1-DUTY,

AMOUNT TYPE ZFORM1-AMOUNT,

END OF TY_FINAL.

TYPES : BEGIN OF TY_ITEM,

VBELN TYPE VBRP-VBELN,"INVOICE NO

POSNR TYPE VBRP-POSNR,

ARKTX TYPE VBRP-ARKTX, "DESCRITION

FKIMG TYPE VBRP-FKIMG, "TOTAL QTY IN KGS

BSTKD TYPE VBKD-BSTKD, "PO NUMBER

BSTDK TYPE VBKD-BSTDK, "PO DATE

AUBEL TYPE VBRP-AUBEL,

AUPOS TYPE VBRP-AUPOS,

END OF TY_ITEM.

DATA : FM_NAM TYPE RS38L_FNAM VALUE '/1BCDWB/SF00000032'.

DATA :IT_ITEM TYPE TABLE OF TY_ITEM,

W_ITEM TYPE TY_ITEM,

W_FINAL TYPE TY_FINAL,

T_FINAL TYPE TABLE OF TY_FINAL,

    • P TYPE I VALUE 250, "total quantity.

TOTALDUTY TYPE I VALUE 0,

CESS TYPE I,

EDCESS TYPE I,

VAT TYPE I,

FREIGHT TYPE I,

GROSSTOTAL TYPE I,

TOTAL TYPE I,

PONUMBER TYPE VBKD-BSTKD, "PO NUMBER

PODATE TYPE VBKD-BSTDK, "PO DATE

ZTERM TYPE VBKD-ZTERM, "PAYMENT TERMS

INVOICENO TYPE VBRP-VBELN.

PARAMETERS : XVBELN TYPE VBELN.

*

*

SELECT VBELN

POSNR

ARKTX

FKIMG

AUBEL

AUPOS

FROM VBRP

INTO CORRESPONDING FIELDS OF TABLE IT_ITEM

WHERE VBELN = XVBELN AND UEPOS = '000000'.

**

**

LOOP AT IT_ITEM INTO W_ITEM.

*INVOICE NO

MOVE W_ITEM-VBELN TO INVOICENO.

*DESCRIPTION

MOVE W_ITEM-ARKTX TO W_FINAL-ARKTX.

**TOTAL QUANTITY IN KGS

MOVE W_ITEM-FKIMG TO W_FINAL-FKIMG.

*PO NUMBER

SELECT SINGLE BSTKD FROM VBKD

INTO W_ITEM-BSTKD

WHERE VBELN EQ W_ITEM-AUBEL.

MOVE W_ITEM-BSTKD TO PONUMBER.

*PO DATE

SELECT SINGLE BSTDK FROM VBKD

INTO W_ITEM-BSTDK

WHERE VBELN EQ W_ITEM-AUBEL.

MOVE W_ITEM-BSTDK TO PODATE.

**

SELECT SINGLE KNUMV FROM VBRK INTO W_FINAL-KNUMV WHERE VBELN = W_ITEM-VBELN.

**SELLING RATE/KG

SELECT SINGLE KBETR FROM KONV INTO W_FINAL-KBETR WHERE KNUMV = W_FINAL-KNUMV

AND KPOSN = W_ITEM-POSNR AND KSCHL = 'PR00'.

**TOTAL TARIFF VALUE

W_FINAL-TARIFF = W_FINAL-KBETR * W_ITEM-FKIMG.

SELECT SINGLE KBETR FROM KONV INTO W_FINAL-KWERT WHERE KNUMV = W_FINAL-KNUMV

AND KPOSN = W_ITEM-POSNR AND KSCHL = 'JEXT'.

*TOTAL DUTY PAYABLE

W_FINAL-DUTY = W_FINAL-KWERT / 10.

**AMOUNT

W_FINAL-AMOUNT = W_FINAL-TARIFF + W_FINAL-DUTY.

*TOTAL DUTY FOR CESS&EDCESS

TOTALDUTY = TOTALDUTY + W_FINAL-DUTY.

APPEND W_FINAL TO T_FINAL..

CLEAR W_FINAL.

*WRITE : /10 W_ITEM-ARKTX,

  • 30 W_ITEM-FKIMG,

  • 60 W_FINAL-KBETR,

  • 90 TARIFF,

  • 120 DUTY,

  • 160 AMOUNT.

ENDLOOP.

*SELECT SINGLE KBETR FROM KONV INTO W_FINAL-KWERT WHERE KNUMV = W_FINAL-KNUMV

  • AND KPOSN = W_ITEM-POSNR AND KSCHL = 'ZECS'.

*

*MOVE W_FINAL-KWERT TO CESS.

*

*SELECT SINGLE KBETR FROM KONV INTO W_FINAL-KWERT WHERE KNUMV = W_FINAL-KNUMV

  • AND KPOSN = W_ITEM-POSNR AND KSCHL = 'ZECX'.

*

*MOVE W_FINAL-KWERT TO EDCESS.

*CESS

CESS = TOTALDUTY * 2 / 100.

*EDCESS

EDCESS = TOTALDUTY * 1 / 100..

*TOTAL VALUE AT FOOTER

TOTAL = W_FINAL-AMOUNT + CESS + EDCESS.

*VAT

VAT = TOTAL * 4 / 100.

*FREIGHT

*GROSS TOTAL

GROSSTOTAL = TOTAL + VAT.

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

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

FORMNAME = 'ZSF_SD_INVOICE1'

VARIANT = ' '

DIRECT_CALL = ' '

IMPORTING

FM_NAME = FM_NAM

EXCEPTIONS

NO_FORM = 1

NO_FUNCTION_MODULE = 2

OTHERS = 3

.

IF SY-SUBRC <> 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL FUNCTION FM_NAM

EXPORTING

  • ARCHIVE_INDEX =

  • ARCHIVE_INDEX_TAB =

  • ARCHIVE_PARAMETERS =

  • CONTROL_PARAMETERS =

  • MAIL_APPL_OBJ =

  • MAIL_RECIPIENT =

  • MAIL_SENDER =

  • OUTPUT_OPTIONS =

  • USER_SETTINGS = 'X'

TOTALDUTY = TOTALDUTY

CESS = CESS

EDCESS = EDCESS

TOTAL = TOTAL

PONUMBER = PONUMBER

PODATE = PODATE

GROSSTOTAL = GROSSTOTAL

VAT = VAT

INVOICENO = INVOICENO

  • IMPORTING

  • DOCUMENT_OUTPUT_INFO =

  • JOB_OUTPUT_INFO =

  • JOB_OUTPUT_OPTIONS =

TABLES

S_FINAL = T_FINAL

  • EXCEPTIONS

  • FORMATTING_ERROR = 1

  • INTERNAL_ERROR = 2

  • SEND_ERROR = 3

  • USER_CANCELED = 4

  • OTHERS = 5

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

I Hope u are aware that in smartform interface you cannot pass local internl tables but must have global types...either you have tried passing a local internal table or you changed the global str before you supplied that to the FM

santhosh

Former Member
0 Kudos

thanku for ur answer.runtime error is not coming now.but when im executing report with invoice no. in selection screen,a message ' reference field w_final-fkimg is unknown in form'.but i declared 'w_final like zform1' in global data&accordingly placed the fields in main window&in TABLE node i gave 'loop s_final into w_final'.

please help.

Former Member
0 Kudos

Hi,

U need to fill the ref_fieldname and ref_tabname or the cfieldname, ctabname for currency fields and qtabname and qfieldname for quantity fields in fieldcatalog.

santhosh

Message was edited by:

Kaluvala Santhosh

Answers (0)