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

Report

Former Member
0 Likes
1,444

Hi all,

In my report "<b>Description</b>" is not displaying.....in the 2nd position......after sales office....

Table and Field is----


<b>TVKBT-BEZEI</b>...

My Code----


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

REPORT ZSALES_REPORT LINE-SIZE 250 MESSAGE-ID ZPU . "*****************

TABLES : VBAK , VBRP, VBRK, KNA1, T001, LIKP, VBPA, TVKBT, TVGRT, KONV, VBKD, VBFA, T052, BSAD.

TYPE-POOLS: SLIS.

DATA: BEGIN OF ITAB OCCURS 0,

VKBUR LIKE VBAK-VKBUR , " Sales Office

BEZEI LIKE TVKBT-BEZEI, " Description

KUNNR LIKE VBAK-KUNNR , " Sold to party

BSTNK LIKE VBAK-BSTNK , " Customer PO No.

NAME1 LIKE KNA1-NAME1 , " CUSTOMER NAME

VBELN LIKE VBAK-VBELN , " Sale Order Number

AUDAT LIKE VBAK-AUDAT , " SALES DOC. DATE

NETWR LIKE VBAK-NETWR , " SALES DOC VALUE

VBELN1 LIKE VBRP-VBELN , " BILLING DOCUMENT NO.

FKDAT LIKE VBRK-FKDAT , " BILLING DATE

NETWR1 LIKE VBRK-NETWR , " BILLING DOCUMENT VALUE

MWSBK LIKE VBRK-MWSBK , " TAX AMOUNT

CD_AMT TYPE P DECIMALS 2 , " CD AMOUNT

AMT_DUE TYPE P DECIMALS 2 , " AMOUNT DUE

FKART LIKE VBRK-FKART , " BILLING TYPE

BLART LIKE BSID-BLART , " DOC TYPE

DAYS LIKE T052-ZTAG1 , " Number of days

DUE_DT LIKE SY-DATUM , " Due Date

ZTERM LIKE VBKD-ZTERM , " PAYMENT TERM

KNUMV LIKE VBRK-KNUMV , " VBRK DOCUMENT CONDITION

BELNR LIKE BSAD-BELNR , " DOC. NO.

AUGBL LIKE BSAD-AUGBL , " CLEARING DOC.

END OF ITAB .

DATA: BEGIN OF ITAB1 OCCURS 0,

KNUMV LIKE KONV-KNUMV , " DOCUMENT CONDITION

KSCHL LIKE KONV-KSCHL ,

KAWRT LIKE KONV-KAWRT ,

KBETR LIKE KONV-KBETR ,

KWERT LIKE KONV-KWERT , " Condition Value

END OF ITAB1 .

DATA : WA1 LIKE ITAB1.

DATA: BEGIN OF ITAB2 OCCURS 0,

KNUMV LIKE KONV-KNUMV , " DOCUMENT CONDITION

KSCHL LIKE KONV-KSCHL ,

KAWRT LIKE KONV-KAWRT ,

KBETR LIKE KONV-KBETR ,

KWERT LIKE KONV-KWERT , " Condition Value

END OF ITAB2 .

DATA : BEGIN OF ITAB3 OCCURS 0.

INCLUDE STRUCTURE ITAB.

DATA : END OF ITAB3.

DATA : X TYPE I.

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

DATA : W_CONTAINER TYPE SCRFNAME VALUE 'CL_GRID',

W_CPROG TYPE LVC_S_LAYO,

G_REPID LIKE SY-REPID,

W_SAVE TYPE C,

W_EXIT TYPE C,

CL_GRID TYPE REF TO CL_GUI_ALV_GRID,

CL_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,

IT_FLD_CATALOG TYPE SLIS_T_FIELDCAT_ALV,

WA_FLD_CATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE ,

LAYOUT TYPE SLIS_LAYOUT_ALV,

COL_POS LIKE SY-CUCOL ,

ALVFC TYPE SLIS_T_FIELDCAT_ALV,

IT_SORT TYPE SLIS_T_SORTINFO_ALV.

***----


SELECTION SCREEN -


SELECTION-SCREEN BEGIN OF BLOCK A WITH FRAME.

SELECT-OPTIONS: VKBUR FOR VBAK-VKBUR, " Sales Office

KUNNR FOR VBAK-KUNNR, " Sold to party

FKDAT FOR VBRK-FKDAT, " OBLIGATORY . " Created on

FKART FOR VBRK-FKART, " Billing Type

DUE_DT FOR SY-DATUM. " Due Date

SELECTION-SCREEN END OF BLOCK A.

SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME.

PARAMETERS: NORMAL RADIOBUTTON GROUP GR1,

FULL RADIOBUTTON GROUP GR1.

SELECTION-SCREEN END OF BLOCK B.

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

IF FULL = 'X'.

PERFORM FILL_CATALOG1 USING:

'VKBUR' 'ITAB' 'SALES OFFICE',

'BEZEI' 'ITAB' 'DESCRIPTION',

'KUNNR' 'ITAB' 'CUST CODE',

'NAME1' 'ITAB' 'NAME' ,

'BSTNK' 'ITAB' 'CUST PO NO.' ,

'VBELN' 'ITAB' 'SALES DOC NO.',

'AUDAT' 'ITAB' 'SALES DOC DATE',

  • 'NETWR' 'ITAB' 'NET VALUE' ,

'VBELN1' 'ITAB' 'BILLING DOC NO.' ,

'FKDAT' 'ITAB' 'BILLING DATE',

'NETWR1' 'ITAB' 'NET VALUE' ,

'MWSBK' 'ITAB' 'TAX AMOUNT' ,

'CD_AMT' 'ITAB' 'CD AMOUNT' ,

'AMT_DUE' 'ITAB' 'AMOUNT DUE' ,

'FKART' 'ITAB' 'BILL TYPE' ,

'BLART' 'ITAB' 'DOC TYPE' ,

'AUGBL' 'ITAB' 'CLEARING DOC.' ,

'DUE_DT' 'ITAB' 'DUE DATE',

'ZTERM' 'ITAB' 'PAYMENT TERMS'.

ELSE.

PERFORM FILL_CATALOG1 USING:

'VKBUR' 'ITAB' 'SALES OFFICE',

'BEZEI' 'ITAB' 'DESCRIPTION',

'KUNNR' 'ITAB' 'CUST CODE',

'NAME1' 'ITAB' 'NAME' ,

'BSTNK' 'ITAB' 'CUST PO NO.' ,

'VBELN' 'ITAB' 'SALES DOC NO.',

'AUDAT' 'ITAB' 'SALES DOC DATE',

  • 'NETWR' 'ITAB' 'NET VALUE' ,

'VBELN1' 'ITAB' 'BILLING DOC NO.' ,

'FKDAT' 'ITAB' 'BILLING DATE',

'NETWR1' 'ITAB' 'NET VALUE' ,

'MWSBK' 'ITAB' 'TAX AMOUNT' ,

'CD_AMT' 'ITAB' 'CD AMOUNT' ,

'AMT_DUE' 'ITAB' 'AMOUNT DUE' ,

'FKART' 'ITAB' 'BILL TYPE' ,

'DUE_DT' 'ITAB' 'DUE DATE',

'ZTERM' 'ITAB' 'PAYMENT TERMS'.

ENDIF.

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

SELECT DISTINCT AVKBUR AKUNNR AVBELN AAUDAT ANETWR ABSTNK BVBELN CBEZEI

INTO (ITAB-VKBUR, ITAB-KUNNR, ITAB-VBELN, ITAB-AUDAT, ITAB-NETWR, ITAB-BSTNK, ITAB-VBELN1, ITAB-BEZEI)

FROM VBAK AS A INNER JOIN VBRP AS B ON AVBELN = BAUBEL

INNER JOIN TVKBT AS C ON AVKBUR = CVKBUR

WHERE A~VKBUR IN VKBUR

AND A~KUNNR IN KUNNR .

APPEND ITAB .

ENDSELECT.

SORT ITAB BY VBELN.

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

LOOP AT ITAB.

SELECT SINGLE FKDAT NETWR MWSBK KNUMV FKART FROM VBRK INTO (ITAB-FKDAT, ITAB-NETWR1, ITAB-MWSBK, ITAB-KNUMV, ITAB-FKART)

WHERE VBELN = ITAB-VBELN1

AND FKDAT IN FKDAT.

IF SY-SUBRC NE 0.

DELETE ITAB.

CONTINUE.

ENDIF.

MODIFY ITAB INDEX SY-TABIX TRANSPORTING FKDAT NETWR1 MWSBK KNUMV FKART.

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

SELECT NAME1 FROM KNA1 INTO ITAB-NAME1 WHERE KUNNR = ITAB-KUNNR .

MODIFY ITAB INDEX SY-TABIX TRANSPORTING NAME1 .

ENDSELECT .

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

SELECT AUGBL BLART FROM BSAD INTO (ITAB-AUGBL, ITAB-BLART) WHERE BELNR = ITAB-VBELN1.

MODIFY ITAB INDEX SY-TABIX TRANSPORTING AUGBL BLART.

ENDSELECT .

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

SELECT ZTERM FROM VBKD INTO ITAB-ZTERM WHERE VBELN = ITAB-VBELN .

MODIFY ITAB INDEX SY-TABIX TRANSPORTING ZTERM .

ENDSELECT.

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

SELECT KNUMV KAWRT KBETR KSCHL INTO CORRESPONDING FIELDS OF TABLE ITAB1 FROM KONV

  • FOR ALL ENTRIES IN ITAB

WHERE KNUMV = ITAB-KNUMV AND KSCHL IN ('SKTO') .

X = 0.

LOOP AT ITAB1 INTO WA1.

ON CHANGE OF WA1-KNUMV.

ITAB2[] = ITAB1[].

DELETE ITAB2 WHERE KNUMV NE WA1-KNUMV.

ENDON.

ENDLOOP.

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

IF SY-SUBRC <> 0.

IF FULL <> 'X'.

DELETE ITAB.

CONTINUE.

ENDIF.

ELSE.

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

LOOP AT ITAB2.

X = X + ITAB2-KAWRT * ITAB2-KBETR / 1000 .

ENDLOOP .

ITAB-CD_AMT = X.

MODIFY ITAB.

REFRESH ITAB1.

REFRESH ITAB2.

ENDIF.

ENDLOOP .

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

LOOP AT ITAB .

ITAB-AMT_DUE = ITAB-NETWR1 + ITAB-MWSBK + ITAB-CD_AMT .

MODIFY ITAB INDEX SY-TABIX TRANSPORTING AMT_DUE .

ENDLOOP .

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

LOOP AT ITAB.

SELECT SINGLE ZTAG1 INTO ITAB-DAYS FROM T052 WHERE ZTERM = ITAB-ZTERM.

ITAB-DUE_DT = ITAB-FKDAT + ITAB-DAYS.

*******

IF DUE_DT-LOW <> 0 OR DUE_DT-HIGH <> 0.

IF DUE_DT-LOW = 0.

DUE_DT-LOW = DUE_DT-HIGH.

ENDIF.

IF DUE_DT-HIGH = 0.

DUE_DT-HIGH = DUE_DT-LOW.

ENDIF.

IF ITAB-DUE_DT LT DUE_DT-LOW OR ITAB-DUE_DT GT DUE_DT-HIGH.

DELETE ITAB.

CLEAR ITAB.

CONTINUE.

ENDIF.

ENDIF.

*******

MODIFY ITAB INDEX SY-TABIX TRANSPORTING DUE_DT .

ENDLOOP.

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

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = 'ZSALES_REPORT_'

IS_LAYOUT = LAYOUT

IT_FIELDCAT = IT_FLD_CATALOG

IT_SORT = IT_SORT

I_DEFAULT = 'X'

I_SAVE = 'A'

TABLES

T_OUTTAB = ITAB

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

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

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

ENDIF.

&----


*& Form FILL_CATALOG1

&----


  • text

----


  • -->P_FIELDNAME text

  • -->P_REF_TABLE text

  • -->P_SCRTEXT text

----


FORM FILL_CATALOG1 USING P_FIELDNAME TYPE ANY

P_REF_TABLE TYPE ANY

P_SCRTEXT TYPE ANY.

CLEAR : WA_FLD_CATALOG.

WA_FLD_CATALOG-FIELDNAME = P_FIELDNAME.

WA_FLD_CATALOG-TABNAME = P_REF_TABLE.

WA_FLD_CATALOG-SELTEXT_S = P_SCRTEXT.

WA_FLD_CATALOG-SELTEXT_M = P_SCRTEXT.

WA_FLD_CATALOG-SELTEXT_L = P_SCRTEXT.

APPEND WA_FLD_CATALOG TO IT_FLD_CATALOG.

ENDFORM. " fill_catalog1

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

Regards,

<b>Anil Kumar</b>

Message was edited by:

Anil Kumar

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,409

hi

remove the extra character from your report name. and it will work

Moni Bindal

16 REPLIES 16
Read only

0 Likes
1,409

Hello Anil,

My guess is that in table TVKBT you have entries with blanks (or maybe in a different language? not displayable?) my recommendation is:

1) Make sure that TVKBT has the entries maintained in all the languages you need

2) Change your SELECT statement to include the language (field TVKBT-SPRAS), like this:


SELECT DISTINCT A~VKBUR A~KUNNR A~VBELN A~AUDAT A~NETWR A~BSTNK B~VBELN C~BEZEI
  INTO (ITAB-VKBUR, ITAB-KUNNR, ITAB-VBELN, ITAB-AUDAT, ITAB-NETWR, ITAB-BSTNK, ITAB-VBELN1, ITAB-BEZEI)
  FROM VBAK AS A INNER JOIN VBRP AS B ON A~VBELN = B~AUBEL
  INNER JOIN TVKBT AS C ON A~VKBUR = C~VKBUR
  WHERE A~VKBUR IN VKBUR
    AND A~KUNNR IN KUNNR 
**************************************************
    and C~SPRAS = SY-LANGU.   " Insert this line
************************************************
  APPEND ITAB .
ENDSELECT.

Hope this helps.

Best Regards.

Read only

0 Likes
1,409

Hi,

1. I sure that TVKBT has the entries maintained in all the languages that i need...

2. I also change the line that u define-------

<b>and C~SPRAS = SY-LANGU</b>. " Insert this line

3. I also check that all entries have values......not blank....

Now wat can i do.....

<b>Anil Kumar</b>

Read only

0 Likes
1,409

Are you getting information in the rest of the fields?

Read only

0 Likes
1,409

Hi,

All other fields values come properly......no problem there......

<b>Anil kumar</b>

Read only

0 Likes
1,409

Well, I'm testing that code in my Sandbox system and that field is populated correctly.

In order to test your system, try to set the C~SPRAS field to a constant that exists already in the table (preferably 'DE' or 'EN').

C~SPRAS = 'DE'

or

C~SPRAS = 'EN'.

If this doesn't work then I'm sorry man, I don't know that else can be wrong. That's all the help I can provide.

Best regards.

Read only

Former Member
0 Likes
1,410

hi

remove the extra character from your report name. and it will work

Moni Bindal

Read only

0 Likes
1,409

Moni Bindal, Hello!

Question for you, I'm very, very, very curious, How could you know that the report name had an extra character?

Regards.

Read only

former_member194669
Active Contributor
0 Likes
1,409

Hi,

I am also eager to know.

I could not find any where Anil pasted the report statement .

a®

Read only

0 Likes
1,409

It's the CALLBACK_PROGRAM. It has a '_' at the end which is probably the truncated name.

Rob

Read only

former_member194669
Active Contributor
0 Likes
1,409

Thanks Rob,

Now i got it


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZSALES_REPORT_'  "<<<<<<< see the _ (underscore)
IS_LAYOUT = LAYOUT
IT_FIELDCAT = IT_FLD_CATALOG
IT_SORT = IT_SORT
I_DEFAULT = 'X'
I_SAVE = 'A'
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1

a®

Read only

0 Likes
1,409

But I don't see how fixing that corrects the other problem.

Rob

Read only

0 Likes
1,409

Excellent question Mr Burbank. I tested that code (with the underscore and even with a different program name) in my sandbox system and it was working just fine. Something just doesn't match.

Regards.

Read only

0 Likes
1,409

Yup - it worked when I tested it too.

Rob

Read only

former_member194669
Active Contributor
0 Likes
1,409

Rob,

We don't know what will be code inside ZSALES_REPORT? (call back) ?, but anyway that don;t have any impact in the display.

a®

Read only

0 Likes
1,409

Well, I think the assumption is tha the callback program is the current program, but again, I don't see how changing that affects the description display.

Rob

Read only

Former Member
0 Likes
1,409

Hi,

Hello All Guys....I tell U the actual problem....

I not paste my program name earlier....that was...

REPORT ZSALES_REPORT_ LINE-SIZE 250 MESSAGE-ID ZPU .

But after that i changed it.......

REPORT ZSALES_REPORT LINE-SIZE 250 MESSAGE-ID ZPU .

Now Problem solved........

Thanks for All.......

Regards,

<b>Anil Kumar</b>