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

Former Member
0 Likes
1,080

Hi,

I had an error in my program.

Error is

Statement is not accessible.

This error iam getting before IF SY-SUBRC EQ 0.

  • T Y P E S

TYPES:

BEGIN OF TYVBAK,

VBELN TYPE VBAK-VBELN,

AUART TYPE VBAK-AUART,

AUDAT TYPE VBAK-AUDAT,

KUNNR TYPE VBAK-KUNNR,

NETWR TYPE VBAK-NETWR,

END OF TYVBAK.

  • D A T A D E C L A R A T I O N S

DATA:

STVBAK TYPE TYVBAK,

ITVBAK TYPE TABLE OF TYVBAK.

  • S E L E C T I O N S C R E E N

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS:

SKUNNR FOR STVBAK-KUNNR.

SELECTION-SCREEN END OF BLOCK B1.

  • I N I T I A L I Z A T I O N

INITIALIZATION.

  • FILLING SELECT OPTIONS WITH DEFAULTS

SKUNNR-SIGN = 'I'.

SKUNNR-OPTION = 'BT'.

SKUNNR-LOW = '1'.

SKUNNR-HIGH = '4000000'.

APPEND SKUNNR.

  • S T A R T O F S E L E C T I O N

START-OF-SELECTION.

FORM GETDATA.

SELECT VBELN "SALES DOCUMENT NUMBER

AUART "DOCUMENT TYPE

AUDAT "SALES DOCUMENT DATE

KUNNR "SOLD TO PARTY

NETWR "NETWORTH

FROM VBAK

INTO TABLE ITVBAK

WHERE KUNNR IN SKUNNR.

ENDFORM.

IF SY-SUBRC EQ 0.

SORT ITVBAK BY KUNNR VBELN.

PERFORM DISPLAY.

ENDIF.

LOOP AT ITVBAK INTO STVBAK.

WRITE:/ 1 STVBAK-VBELN,12STVBAK-AUART,18STVBAK-AUDAT,30STVBAK-NETWR.

ENDLOOP.

ENDFORM.

Also I had used FORM GETDATA. Is it Subroutine FORM GETDATA. That i didnt create.

Plz correct me this program

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,061

Hi

first write PERFORM statement after start-of-selection

START-OF-SELECTION.

<b>PERFORM getdata.

FORM GETDATA.</b>

SELECT VBELN "SALES DOCUMENT NUMBER

AUART "DOCUMENT TYPE

AUDAT "SALES DOCUMENT DATE

KUNNR "SOLD TO PARTY

NETWR "NETWORTH

FROM VBAK

INTO TABLE ITVBAK

WHERE KUNNR IN SKUNNR.

IF SY-SUBRC EQ 0.

SORT ITVBAK BY KUNNR VBELN.

<b>PERFORM DISPLAY.</b>

ENDIF.

<b>ENDFORM.</b>

<b>FORM display.</b>

LOOP AT ITVBAK INTO STVBAK.

WRITE:/ 1 STVBAK-VBELN,12STVBAK-AUART,18STVBAK-AUDAT,30STVBAK-NETWR.

ENDLOOP.

<b>ENDFORM.</b>

<b>Reward points for useful Answers</b>

Regards

Anji

Message was edited by:

Anji Reddy Vangala

9 REPLIES 9
Read only

Former Member
0 Likes
1,061

Hi,

Remove ENDFORM before sy-subrc statemetn.Also create Display subroutine.

Reward if useful!

Read only

Former Member
0 Likes
1,061

Hi Ram,

You have to call the statement

Perform Getdata.

if sy-subrc = 0.

endif.

after start-of-selection.

cut and paster the form Getdata below this statement

Regards

Arun

Read only

Former Member
0 Likes
1,061

Hi,

Where hv u called subroutine GETDATA. There shud be a statement PERFORM GETDATA. after that the IF SY-SUBRC EQ 0 shud be checked.

Hope the error is due to this only.

Regards,

Himanshu

Read only

Former Member
0 Likes
1,061

hi,

Pls Change ur code like this,

FORM GETDATA.

SELECT VBELN "SALES DOCUMENT NUMBER
AUART "DOCUMENT TYPE
AUDAT "SALES DOCUMENT DATE
KUNNR "SOLD TO PARTY
NETWR "NETWORTH
FROM VBAK
INTO TABLE ITVBAK
WHERE KUNNR IN SKUNNR.

IF SY-SUBRC EQ 0.
SORT ITVBAK BY KUNNR VBELN.
PERFORM DISPLAY.
ENDIF.

ENDFORM. "end of GETDATA


FORM DISPLAY.

LOOP AT ITVBAK INTO STVBAK.
WRITE:/ 1 STVBAK-VBELN,12STVBAK-AUART,18STVBAK-AUDAT,30STVBAK-NETWR.
ENDLOOP.

ENDFORM.

Regards

Reshma

Read only

Former Member
0 Likes
1,061

hi,

U r checking the sy-subrc after the end form.It wont be considered then.

Where is the Perform Getdata.

Read only

Former Member
0 Likes
1,062

Hi

first write PERFORM statement after start-of-selection

START-OF-SELECTION.

<b>PERFORM getdata.

FORM GETDATA.</b>

SELECT VBELN "SALES DOCUMENT NUMBER

AUART "DOCUMENT TYPE

AUDAT "SALES DOCUMENT DATE

KUNNR "SOLD TO PARTY

NETWR "NETWORTH

FROM VBAK

INTO TABLE ITVBAK

WHERE KUNNR IN SKUNNR.

IF SY-SUBRC EQ 0.

SORT ITVBAK BY KUNNR VBELN.

<b>PERFORM DISPLAY.</b>

ENDIF.

<b>ENDFORM.</b>

<b>FORM display.</b>

LOOP AT ITVBAK INTO STVBAK.

WRITE:/ 1 STVBAK-VBELN,12STVBAK-AUART,18STVBAK-AUDAT,30STVBAK-NETWR.

ENDLOOP.

<b>ENDFORM.</b>

<b>Reward points for useful Answers</b>

Regards

Anji

Message was edited by:

Anji Reddy Vangala

Read only

former_member196280
Active Contributor
0 Likes
1,061

START-OF-SELECTION.

FORM GETDATA.

SELECT VBELN "SALES DOCUMENT NUMBER

AUART "DOCUMENT TYPE

AUDAT "SALES DOCUMENT DATE

KUNNR "SOLD TO PARTY

NETWR "NETWORTH

FROM VBAK

INTO TABLE ITVBAK

WHERE KUNNR IN SKUNNR.

<b>ENDFORM.</b> "CANNNOT BE USED HERE

IF SY-SUBRC EQ 0.

SORT ITVBAK BY KUNNR VBELN.

PERFORM DISPLAY.

ENDIF.

LOOP AT ITVBAK INTO STVBAK.

WRITE:/ 1 STVBAK-VBELN,12STVBAK-AUART,18STVBAK-AUDAT,30STVBAK-NETWR.

ENDLOOP.

ENDFORM.

Don't forget to reward points.

Regards,

SaiRam

Read only

Former Member
0 Likes
1,061

Hi rams,

do like this.

  • T Y P E S

TYPES:

BEGIN OF TYVBAK,

VBELN TYPE VBAK-VBELN,

AUART TYPE VBAK-AUART,

AUDAT TYPE VBAK-AUDAT,

KUNNR TYPE VBAK-KUNNR,

NETWR TYPE VBAK-NETWR,

END OF TYVBAK.

  • D A T A D E C L A R A T I O N S

DATA:

STVBAK TYPE TYVBAK,

ITVBAK TYPE TABLE OF TYVBAK.

  • S E L E C T I O N S C R E E N

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS:

SKUNNR FOR STVBAK-KUNNR.

SELECTION-SCREEN END OF BLOCK B1.

  • I N I T I A L I Z A T I O N

INITIALIZATION.

  • FILLING SELECT OPTIONS WITH DEFAULTS

SKUNNR-SIGN = 'I'.

SKUNNR-OPTION = 'BT'.

SKUNNR-LOW = '1'.

SKUNNR-HIGH = '4000000'.

APPEND SKUNNR.

  • S T A R T O F S E L E C T I O N

START-OF-SELECTION.

<b>perform getdata.</b>

FORM GETDATA.

SELECT VBELN "SALES DOCUMENT NUMBER

AUART "DOCUMENT TYPE

AUDAT "SALES DOCUMENT DATE

KUNNR "SOLD TO PARTY

NETWR "NETWORTH

FROM VBAK

INTO TABLE ITVBAK

WHERE KUNNR IN SKUNNR.

<b>IF SY-SUBRC EQ 0.

SORT ITVBAK BY KUNNR VBELN.

PERFORM DISPLAY.

ENDIF.</b> "(here u need to check)

ENDFORM.

<b>FORM DISPLAY.</b>

LOOP AT ITVBAK INTO STVBAK.

WRITE:/1 STVBAK-VBELN,12 STVBAK-AUART,18 STVBAK-AUDAT,30 STVBAK-NETWR.

ENDLOOP.

ENDFORM.

rgds,

bharat.

Read only

former_member219399
Active Participant
0 Likes
1,061

Hi,

Check this coding. all subroutine definition shud be at the end of the program.

with regards,

Vamsi

TYPES:

BEGIN OF TYVBAK,

VBELN TYPE VBAK-VBELN,

AUART TYPE VBAK-AUART,

AUDAT TYPE VBAK-AUDAT,

KUNNR TYPE VBAK-KUNNR,

NETWR TYPE VBAK-NETWR,

END OF TYVBAK.

  • D A T A D E C L A R A T I O N S

DATA:

STVBAK TYPE TYVBAK,

ITVBAK TYPE TABLE OF TYVBAK.

  • S E L E C T I O N S C R E E N

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS:

SKUNNR FOR STVBAK-KUNNR.

SELECTION-SCREEN END OF BLOCK B1.

  • I N I T I A L I Z A T I O N

INITIALIZATION.

  • FILLING SELECT OPTIONS WITH DEFAULTS

SKUNNR-SIGN = 'I'.

SKUNNR-OPTION = 'BT'.

SKUNNR-LOW = '1'.

SKUNNR-HIGH = '4000000'.

APPEND SKUNNR.

  • S T A R T O F S E L E C T I O N

START-OF-SELECTION.

FORM GETDATA.

SELECT VBELN "SALES DOCUMENT NUMBER

AUART "DOCUMENT TYPE

AUDAT "SALES DOCUMENT DATE

KUNNR "SOLD TO PARTY

NETWR "NETWORTH

FROM VBAK

INTO TABLE ITVBAK

WHERE KUNNR IN SKUNNR.

IF SY-SUBRC EQ 0.

SORT ITVBAK BY KUNNR VBELN.

PERFORM DISPLAY.

ENDIF.

ENDFORM.

form display.

LOOP AT ITVBAK INTO STVBAK.

WRITE:/1 STVBAK-VBELN,12 STVBAK-AUART,18 STVBAK-AUDAT,30 STVBAK-NETWR.

ENDLOOP.

endform.