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

Hi

Former Member
0 Likes
998

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
979

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

9 REPLIES 9
Read only

Former Member
0 Likes
980

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

Read only

Former Member
0 Likes
979

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

Read only

gopi_narendra
Active Contributor
0 Likes
979
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

Read only

Former Member
0 Likes
979

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.

Read only

former_member196280
Active Contributor
0 Likes
979

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

Read only

kostas_tsioubris
Contributor
0 Likes
979

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

Read only

Former Member
0 Likes
979
  • 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

Read only

Former Member
0 Likes
979

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.

Read only

Former Member
0 Likes
979

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.