‎2007 Jul 17 7:41 AM
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
‎2007 Jul 17 7:46 AM
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
‎2007 Jul 17 7:44 AM
Hi,
Remove ENDFORM before sy-subrc statemetn.Also create Display subroutine.
Reward if useful!
‎2007 Jul 17 7:45 AM
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
‎2007 Jul 17 7:46 AM
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
‎2007 Jul 17 7:46 AM
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
‎2007 Jul 17 7:46 AM
hi,
U r checking the sy-subrc after the end form.It wont be considered then.
Where is the Perform Getdata.
‎2007 Jul 17 7:46 AM
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
‎2007 Jul 17 7:47 AM
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
‎2007 Jul 17 7:50 AM
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.
‎2007 Jul 17 7:53 AM
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.