2007 Jul 19 8:50 AM
Hi,
I am getting error at the Else statement.
plz correct me.
REPORT ZAC_TAB23.
TYPES:
BEGIN OF TY_KNA1,
KUNNR TYPE KNA1-KUNNR,
LAND1 TYPE KNA1-LAND1,
NAME1 TYPE KNA1-NAME1,
ORT01 TYPE KNA1-ORT01,
END OF TY_KNA1,
BEGIN OF TY_VBAK,
VBELN TYPE VBAK-VBELN,
AUDAT TYPE VBAK-AUDAT,
AUART TYPE VBAK-AUART,
NETWR TYPE VBAK-NETWR,
END OF TY_VBAK,
BEGIN OF TY_VBAP,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
ARKTX TYPE VBAP-ARKTX,
NETPR TYPE VBAP-NETPR,
NETWR TYPE VBAP-NETWR,
END OF TY_VBAP.
DATA:
ST_KNA1 TYPE TY_KNA1,
IT_KNA1 TYPE TABLE OF TY_KNA1,
ST_VBAK TYPE TY_VBAK,
IT_VBAK TYPE TABLE OF TY_VBAK,
ST_VBAP TYPE TY_VBAP,
IT_VBAP TYPE TABLE OF TY_VBAP.
S E L E C T O P T I O N S
SELECT-OPTIONS:
SKUNNR FOR ST_KNA1-KUNNR.
T O P O F P A G E
TOP-OF-PAGE.
WRITE:/1 'CUSTOMER NUMBER', 12'CUSTOMER NAME',42 'CITY',62 'COUNTRY'.
ULINE.
S T A R T O F S E L E C T I O N.
START-OF-SELECTION.
PERFORM GET_CUSTDATA.
AT LINE SELECTION.
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
SELECT VBELN AUDAT AUART NETWR FROM VBAK
INTO TABLE IT_VBAK
WHERE KUNNR EQ ST_KNA1-KUNNR.
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
ENDLOOP.
ENDCASE.
INCLUDE ZAC_TAB23_GET_CUSTDATAF01.
&----
*& Form GET_CUSTDATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_CUSTDATA .
SELECT KUNNR LAND1 NAME1 ORT01 FROM KNA1
INTO TABLE IT_KNA1
WHERE KUNNR IN SKUNNR.
ENDFORM. " GET_CUSTDATA
2007 Jul 19 8:52 AM
give endloop.
before else statement.
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
<b>ENDLOOP</b>
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
Message was edited by:
Sumi Vasu
Hi,
I am getting error at the Else statement.
plz correct me.
REPORT ZAC_TAB23.
TYPES:
BEGIN OF TY_KNA1,
KUNNR TYPE KNA1-KUNNR,
LAND1 TYPE KNA1-LAND1,
NAME1 TYPE KNA1-NAME1,
ORT01 TYPE KNA1-ORT01,
END OF TY_KNA1,
BEGIN OF TY_VBAK,
VBELN TYPE VBAK-VBELN,
AUDAT TYPE VBAK-AUDAT,
AUART TYPE VBAK-AUART,
NETWR TYPE VBAK-NETWR,
END OF TY_VBAK,
BEGIN OF TY_VBAP,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
ARKTX TYPE VBAP-ARKTX,
NETPR TYPE VBAP-NETPR,
NETWR TYPE VBAP-NETWR,
END OF TY_VBAP.
DATA:
ST_KNA1 TYPE TY_KNA1,
IT_KNA1 TYPE TABLE OF TY_KNA1,
ST_VBAK TYPE TY_VBAK,
IT_VBAK TYPE TABLE OF TY_VBAK,
ST_VBAP TYPE TY_VBAP,
IT_VBAP TYPE TABLE OF TY_VBAP.
S E L E C T O P T I O N S
SELECT-OPTIONS:
SKUNNR FOR ST_KNA1-KUNNR.
T O P O F P A G E
TOP-OF-PAGE.
WRITE:/1 'CUSTOMER NUMBER', 12'CUSTOMER NAME',42 'CITY',62 'COUNTRY'.
ULINE.
S T A R T O F S E L E C T I O N.
START-OF-SELECTION.
PERFORM GET_CUSTDATA.
AT LINE SELECTION.
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
SELECT VBELN AUDAT AUART NETWR FROM VBAK
INTO TABLE IT_VBAK
WHERE KUNNR EQ ST_KNA1-KUNNR.
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
ENDLOOP.
ENDCASE.
INCLUDE ZAC_TAB23_GET_CUSTDATAF01.
&----
*& Form GET_CUSTDATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_CUSTDATA .
SELECT KUNNR LAND1 NAME1 ORT01 FROM KNA1
INTO TABLE IT_KNA1
WHERE KUNNR IN SKUNNR.
ENDFORM. " GET_CUSTDATA
2007 Jul 19 8:52 AM
give endloop.
before else statement.
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
<b>ENDLOOP</b>
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
Message was edited by:
Sumi Vasu
2007 Jul 19 8:52 AM
hi..
use <b>ENDLOOP</b> before elseif
REPORT ZAC_TAB23.
TYPES:
BEGIN OF TY_KNA1,
KUNNR TYPE KNA1-KUNNR,
LAND1 TYPE KNA1-LAND1,
NAME1 TYPE KNA1-NAME1,
ORT01 TYPE KNA1-ORT01,
END OF TY_KNA1,
BEGIN OF TY_VBAK,
VBELN TYPE VBAK-VBELN,
AUDAT TYPE VBAK-AUDAT,
AUART TYPE VBAK-AUART,
NETWR TYPE VBAK-NETWR,
END OF TY_VBAK,
BEGIN OF TY_VBAP,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
ARKTX TYPE VBAP-ARKTX,
NETPR TYPE VBAP-NETPR,
NETWR TYPE VBAP-NETWR,
END OF TY_VBAP.
DATA:
ST_KNA1 TYPE TY_KNA1,
IT_KNA1 TYPE TABLE OF TY_KNA1,
ST_VBAK TYPE TY_VBAK,
IT_VBAK TYPE TABLE OF TY_VBAK,
ST_VBAP TYPE TY_VBAP,
IT_VBAP TYPE TABLE OF TY_VBAP.
S E L E C T O P T I O N S
SELECT-OPTIONS:
SKUNNR FOR ST_KNA1-KUNNR.
T O P O F P A G E
TOP-OF-PAGE.
WRITE:/1 'CUSTOMER NUMBER', 12'CUSTOMER NAME',42 'CITY',62 'COUNTRY'.
ULINE.
S T A R T O F S E L E C T I O N.
START-OF-SELECTION.
PERFORM GET_CUSTDATA.
AT LINE SELECTION.
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
SELECT VBELN AUDAT AUART NETWR FROM VBAK
INTO TABLE IT_VBAK
WHERE KUNNR EQ ST_KNA1-KUNNR.
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
<b>ENDLOOP.</b>
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
ENDCASE.
INCLUDE ZAC_TAB23_GET_CUSTDATAF01.
&----
*& Form GET_CUSTDATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_CUSTDATA .
SELECT KUNNR LAND1 NAME1 ORT01 FROM KNA1
INTO TABLE IT_KNA1
WHERE KUNNR IN SKUNNR.
ENDFORM. " GET_CUSTDATA
2007 Jul 19 8:52 AM
SELECT VBELN AUDAT AUART NETWR FROM VBAK
INTO TABLE IT_VBAK
WHERE KUNNR EQ ST_KNA1-KUNNR.
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
ENDLOOP. " Endloop here....
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
Regards
Gopi
2007 Jul 19 8:53 AM
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
ENDLOOP.
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
2007 Jul 19 8:53 AM
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
<b>ENDLOOP.</b> " use it here
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
Don't forget to reward points.
Regards,
Sairam
2007 Jul 19 8:53 AM
Hi,
correct your code like this
CASE SY-LSIND.
WHEN 1.
SELECT VBELN AUDAT AUART NETWR FROM VBAK
INTO TABLE IT_VBAK
WHERE KUNNR EQ ST_KNA1-KUNNR.
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
<b>endloop</b>
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
<b>*ENDLOOP.</b>
ENDCASE.
Kostas
2007 Jul 19 8:53 AM
AT LINE SELECTION.
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
Hi,
Put the else & endif statements after the endloop.
SELECT VBELN AUDAT AUART NETWR FROM VBAK
INTO TABLE IT_VBAK
WHERE KUNNR EQ ST_KNA1-KUNNR.
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
ENDLOOP.
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
Regards,
Shruthi R
2007 Jul 19 8:54 AM
HI,
change here
TYPES:
BEGIN OF TY_KNA1,
KUNNR TYPE KNA1-KUNNR,
LAND1 TYPE KNA1-LAND1,
NAME1 TYPE KNA1-NAME1,
ORT01 TYPE KNA1-ORT01,
END OF TY_KNA1,
BEGIN OF TY_VBAK,
VBELN TYPE VBAK-VBELN,
AUDAT TYPE VBAK-AUDAT,
AUART TYPE VBAK-AUART,
NETWR TYPE VBAK-NETWR,
END OF TY_VBAK,
BEGIN OF TY_VBAP,
POSNR TYPE VBAP-POSNR,
MATNR TYPE VBAP-MATNR,
ARKTX TYPE VBAP-ARKTX,
NETPR TYPE VBAP-NETPR,
NETWR TYPE VBAP-NETWR,
END OF TY_VBAP.
DATA:
ST_KNA1 TYPE TY_KNA1,
IT_KNA1 TYPE TABLE OF TY_KNA1,
ST_VBAK TYPE TY_VBAK,
IT_VBAK TYPE TABLE OF TY_VBAK,
ST_VBAP TYPE TY_VBAP,
IT_VBAP TYPE TABLE OF TY_VBAP.
S E L E C T O P T I O N S
SELECT-OPTIONS:
SKUNNR FOR ST_KNA1-KUNNR.
T O P O F P A G E
TOP-OF-PAGE.
WRITE:/1 'CUSTOMER NUMBER', 12'CUSTOMER NAME',42 'CITY',62 'COUNTRY'.
ULINE.
S T A R T O F S E L E C T I O N.
START-OF-SELECTION.
PERFORM GET_CUSTDATA.
AT LINE SELECTION.
AT LINE-SELECTION.
CASE SY-LSIND.
WHEN 1.
SELECT VBELN AUDAT AUART NETWR FROM VBAK
INTO TABLE IT_VBAK
WHERE KUNNR EQ ST_KNA1-KUNNR.
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
<b>endloop.</b>
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
<b>*endloop.</b>
ENDCASE.
INCLUDE ZAC_TAB23_GET_CUSTDATAF01.
&----
*& Form GET_CUSTDATA
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_CUSTDATA .
SELECT KUNNR LAND1 NAME1 ORT01 FROM KNA1
INTO TABLE IT_KNA1
WHERE KUNNR IN SKUNNR.
ENDFORM. " GET_CUSTDATA
rgds,
bharat.
2007 Jul 19 8:54 AM
Hi,
IF SY-SUBRC EQ 0.
LOOP AT IT_VBAK INTO ST_VBAK.
WRITE:/ ST_VBAK-VBELN,ST_VBAK-AUDAT,ST_VBAK-AUART,ST_VBAK-NETWR.
<b>ENDLOOP. -
> put Endloop here.</b>
ELSE.
MESSAGE S000(0) WITH 'NO RECORDS FOUND FOR CUSTOMER'.
ENDIF.
Thanks,
Reward If Helpful.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |