Text in bold in normal report
hi to all,
plz help me in this issue
how can we make text heading bold in the normal report
thanks in advance
kiran kumar.
hi,
If you are using WRITE statements, use
FORMAT INTENSIFIED ON.
WRITE : / 'welcome'.
FORMAT INTENSIFIED OFF.
rgds
Anver
Similar Messages
-
Displaying text in BOLD in classical report
Hi all,
I want to display a word as BOLD in classical report.. How to acieve the same in classical report
Regards,
ShanthiHI,
I m working in ECC 6.0 system only. But still the followinf statement is not displaying the word in bold letters.
Pls tell me what is wrong in the below code.
FORMAT INTENSIFIED on.
write 'some text'.
FORMAT intensified off. -
How to print some text in BOLD in a classical report
Hi,
I need to print some selected text in BOLD in classical report.
Went through SDN forum...came across some suggestions like using class cl_dd_document and its functions..
The problem is that one of its function "add_text" allows to highlight text...but the display function "display_document" requires a container to display, whereas mine is a simple classical report...am i wrong somewhere..or is there any other method to do the same...
Thanks!!Hi Deepti,
I am not sure that is possible on a classical report ntu you can use colors to highlight a part of the report output in order to check the various options you have with format is to check F1 on format.
Regards,
Himanshu -
How to Print a text in bold format in a classic report ??
How to Print a text in bold format in a classic report ??
hi
u can use
<b>FORMAT INTENSIFIED ON.</b>
regards
ravish
reward if useful -
Highlighted text in Normal report.
Hi,
My client requirements is that one report has to display in higlighted text for every alternative line items. This is a normal classical report, In alv we can achive this. But in normal report how it can be possilbe. Please suggest me on this..
Thanks in Advance.
Regards,
RamanaHi
Use the following code
FORMAT COLOR COL_KEY INTENSIFIED OFF.
WRITE: 'Hello World'.
FORMAT COLOR OFF.
Hopefully, it will help you.
Thanks & Regards,
Ibrar -
How can i input some text in bold and other in normal font in h:messages
Hi
I have a message which comes from properties file.I need half of the text in bold and the other half in normal font.import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Test extends JFrame {
public Test() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container content = getContentPane();
JEditorPane jep = new JEditorPane("text/html",
"Joe: <font color=red>R u <b>There</b>?</Font><BR>"+
"Mary: <font color=green>Keep ur shorts on...</Font>");
content.add(new JScrollPane(jep), BorderLayout.CENTER);
setSize(200,200);
show();
public static void main(String[] args) { new Test(); }
} -
How to make part of text as bold..
hi all,
its urgent..
i have an expression in my ssrs report like
=iif(passorder=1 and zoneorder<>4,
iif(field!xxxx.value=3,field!xxxx.value & "is having perecntage of" & field!percentage.value, field!percentage.value)
now,its having row and column grouping..so, in preview i get 8 rows output
so..i cant take place holders
i need to make bold only the field!percentage.value and field!xxxx.value ...
this static text is having perecntage of should be in normal font only
if used iif(field!percenatge.value="xx",bold,normal) in font weight but not achieved..
can any on please help to me if there is any bold() function that to use in customcode..so that i can use in expression
please help..
thanks in advance..
luckyHi LuckyLucky12,
According to your description, you have a long string in a textbox which concatenate values of two fields and static text. Now you want to set bold style for values of two fields, but still keep the default style for the static text. Right?
In Reporting Service, we can set style for text in a textbox, this style will be effective on whole textbox. However, we can create placeholders in textbox. So in this scenario, we suggest put those parts of text into different placeholders inside of a textbox.
We can set style for each placeholder. Also, we can use expression in Value to set condition for displaying data. We tested your case with some sample data in our local environment. Here are steps and screenshots for your reference:
1. Create a table in the report, double click on textbox, right click and select Create Placeholder. Select field in Value (If we want to set condition, put expression in it). Go to Font, select Bold.
2. Repeat step1 to create other two placeholder. For the placeholder with static text, unselect Bold.
3. Save and preview. In our sample report, we set the condition for displaying data (display null string when DocId = 3). It looks like below:
Reference:
Formatting Text and Placeholders (Report Builder and SSRS)
If you have any question, please feel free to ask.
Best Regards,
Simon Hou (Pactera)
-
Can i use classes or grid control (alv) in normal report
Hai,
Can i use Grid control or classes in normal report.If yes what are the steps that i have to go for.
thanks
kiranSure... here is a sample of an ALV in a report. All you need to do is call a screen. I believe that there is also a way to do it without having to create a screen.
REPORT ZRICH_0001.
DATA: BEGIN OF I_ALV OCCURS 0,
MATNR TYPE MARA-MATNR,
MAKTX TYPE MAKT-MAKTX,
END OF I_ALV.
DATA: ALV_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
DATA: ALV_GRID TYPE REF TO CL_GUI_ALV_GRID.
DATA: LAYOUT TYPE LVC_S_LAYO.
DATA: FIELDCAT TYPE LVC_T_FCAT.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001 .
SELECT-OPTIONS: S_MATNR FOR i_ALV-MATNR.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
PERFORM GET_DATA.
CALL SCREEN 100.
* Module status_0100 OUTPUT
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS '0100'.
SET TITLEBAR '0100'.
DATA: VARIANT TYPE DISVARIANT.
VARIANT-REPORT = SY-REPID.
VARIANT-USERNAME = SY-UNAME.
* Create Controls
CREATE OBJECT ALV_CONTAINER
EXPORTING
CONTAINER_NAME = 'ALV_CONTAINER'.
CREATE OBJECT ALV_GRID
EXPORTING
I_PARENT = ALV_CONTAINER.
* ALV Specific. Data selection.
* Populate Field Catalog
PERFORM GET_FIELDCATALOG.
CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_LAYOUT = LAYOUT
IS_VARIANT = VARIANT
I_SAVE = 'U'
I_STRUCTURE_NAME = 'I_ALV'
CHANGING
IT_OUTTAB = I_ALV[]
IT_FIELDCATALOG = FIELDCAT[].
ENDMODULE.
* Module USER_COMMAND_0100 INPUT
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK' OR 'CANC'.
IF NOT ALV_CONTAINER IS INITIAL.
CALL METHOD ALV_CONTAINER->FREE.
CLEAR: ALV_CONTAINER.
FREE : ALV_CONTAINER.
ENDIF.
IF SY-SUBRC = 0.
SET SCREEN 0.
LEAVE SCREEN.
ELSE.
LEAVE PROGRAM.
ENDIF.
WHEN 'EXIT'.
IF NOT ALV_CONTAINER IS INITIAL.
CALL METHOD ALV_CONTAINER->FREE.
CLEAR: ALV_CONTAINER.
FREE : ALV_CONTAINER.
ENDIF.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
* FORM GET_DATA
FORM GET_DATA.
SELECT * INTO CORRESPONDING FIELDS OF TABLE I_ALV
FROM MARA
INNER JOIN MAKT
ON MARA~MATNR = MAKT~MATNR
WHERE MARA~MATNR IN S_MATNR
AND MAKT~SPRAS = SY-LANGU.
SORT I_ALV ASCENDING BY MATNR.
ENDFORM.
* Form Get_Fieldcatalog - Set Up Columns/Headers
FORM GET_FIELDCATALOG.
DATA: LS_FCAT TYPE LVC_S_FCAT.
REFRESH: FIELDCAT.
CLEAR: LS_FCAT.
LS_FCAT-REPTEXT = 'Material Number'.
LS_FCAT-COLTEXT = 'Material Number'.
LS_FCAT-FIELDNAME = 'MATNR'.
LS_FCAT-REF_TABLE = 'I_ALV'.
LS_FCAT-OUTPUTLEN = '18'.
LS_FCAT-COL_POS = 1.
APPEND LS_FCAT TO FIELDCAT.
CLEAR: LS_FCAT.
LS_FCAT-REPTEXT = 'Material Description'.
LS_FCAT-COLTEXT = 'Material Description'.
LS_FCAT-FIELDNAME = 'MAKTX'.
LS_FCAT-REF_TABLE = 'I_ALV'.
LS_FCAT-OUTPUTLEN = '40'.
LS_FCAT-COL_POS = 2.
APPEND LS_FCAT TO FIELDCAT.
ENDFORM.
Regards,
Rich Heilman -
I have a normal report , i need to make it into ALV,
Hi,
i have a normal report and i need to make it into ALV Report in ECC5.0version. when i making it into ALV its giving blank.
can any one help me out to make below code in to ALV report.
REPORT ZSAMPLE line-size 260
line-count 65
no standard page heading.
====================================================================
TABLES *********************************
====================================================================
tables : bseg,
bkpf,
kna1,
bsid,
bsad,
knb1.
data : begin of customer_tab occurs 0,
kunnr like kna1-kunnr,
name1 like kna1-name1,
flag(1) type c,
end of customer_tab.
data : begin of customerdoc_tab occurs 0,
kunnr like kna1-kunnr,
belnr like bkpf-belnr,
gjahr like bkpf-gjahr,
monat like bkpf-monat,
end of customerdoc_tab.
data : begin of doc_tab occurs 0,
belnr like bkpf-belnr,
gjahr like bkpf-gjahr,
monat like bkpf-monat,
end of doc_tab.
DATA: BEGIN OF BSID_TAB OCCURS 0,
BUKRS LIKE BSID-BUKRS,
PRCTR LIKE BSID-PRCTR,
KUNNR LIKE BSID-KUNNR,
FLAG(1),
UMSKZ LIKE BSID-UMSKZ,
BLART LIKE BSID-BLART,
BELNR LIKE BSID-BELNR,
BUZEI LIKE BSID-BUZEI,
NETDT LIKE BSID-ZFBDT,
ZFBDT LIKE BSID-ZFBDT,
BUDAT LIKE BSID-BUDAT,
BLDAT LIKE BSID-BLDAT,
BSCHL LIKE BSID-BSCHL,
DMBTR LIKE BSID-DMBTR,
SHKZG LIKE BSID-SHKZG,
ZBD1T LIKE BSID-ZBD1T,
ZBD2T LIKE BSID-ZBD2T,
ZBD3T LIKE BSID-ZBD3T,
REBZG LIKE BSID-REBZG,
REBZT LIKE BSID-REBZT,
KOART LIKE BSEG-KOART,
SK1DT LIKE FAEDE-SK1DT,
SK2DT LIKE FAEDE-SK2DT,
DAYSD LIKE SY-TABIX,
END OF BSID_TAB.
ranges : r_bukrs for bsid-bukrs,
r_kunnr for kna1-kunnr.
===================================================================
VARIABLES *******************************
===================================================================
data : v_belnr like bseg-belnr,
v_gjahr like bkpf-gjahr,
v_monat like bkpf-monat,
v_ttlc type p,
v_flag(1) type c,
V_COUNT1(4) TYPE N,
V_COUNT2(4) TYPE N,
V_COUNT3(4) TYPE N,
V_COUNT4(4) TYPE N,
V_COUNT5(4) TYPE N,
V_COUNT6(4) TYPE N,
V_COUNT7(4) TYPE N,
V_COUNT8(4) TYPE N,
V_COUNT9(4) TYPE N,
V_COUNT10(4) TYPE N,
V_NET1 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 1
V_NET2 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 2
V_NET3 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 3
V_NET4 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 4
V_NET5 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 5
V_NET6 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 6
V_NET7 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 7
V_NET8 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 8
V_NET9 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 9
V_NET10 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 10
V_NET11 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 11
V_NET LIKE BSID-DMBTR, "Total Balance of Customer
V_ttlNET1 LIKE BSID-DMBTR,
V_ttlNET2 LIKE BSID-DMBTR,
V_ttlNET3 LIKE BSID-DMBTR,
V_ttlNET4 LIKE BSID-DMBTR,
V_ttlNET5 LIKE BSID-DMBTR,
V_ttlNET6 LIKE BSID-DMBTR,
V_ttlNET7 LIKE BSID-DMBTR,
V_ttlNET8 LIKE BSID-DMBTR,
V_ttlNET9 LIKE BSID-DMBTR,
V_ttlNET10 LIKE BSID-DMBTR,
V_ttlNET11 LIKE BSID-DMBTR,
V_ttlNET LIKE BSID-DMBTR,
v_kunnr like bseg-kunnr,
V_BUTXT like t001-butxt.
===================================================================
SELECTION SCREEN ****************************
===================================================================
selection-screen begin of block b1 with frame title text-001.
parameters : p_bukrs like bseg-bukrs obligatory.
select-options : s_kunnr for kna1-kunnr,
s_BRSCH for kna1-BRSCH,
s_REGIO for kna1-REGIO,
s_KTOKD for kna1-KTOKD,
s_BUSAB for knb1-BUSAB.
selection-screen: end of block b1.
selection-screen begin of block b2 with frame title text-003.
PARAMETERS: DAT LIKE SY-DATUM DEFAULT SY-DATUM.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(30) TEXT-002.
SELECTION-SCREEN POSITION POS_LOW.
*PARAMETERS: RASTBIS1 LIKE RFPDO1-ALLGROGR DEFAULT '000'.
*PARAMETERS: RASTBIS2 LIKE RFPDO1-ALLGROGR DEFAULT '030'.
*PARAMETERS: RASTBIS3 LIKE RFPDO1-ALLGROGR DEFAULT '060'.
*PARAMETERS: RASTBIS4 LIKE RFPDO1-ALLGROGR DEFAULT '090'.
*PARAMETERS: RASTBIS5 LIKE RFPDO1-ALLGROGR DEFAULT '120'.
PARAMETERS: RASTBIS1(4) type n DEFAULT '0000'.
PARAMETERS: RASTBIS2(4) type n DEFAULT '0030'.
PARAMETERS: RASTBIS3(4) type n DEFAULT '0060'.
PARAMETERS: RASTBIS4(4) type n DEFAULT '0090'.
PARAMETERS: RASTBIS5(4) type n DEFAULT '0120'.
PARAMETERS: RASTBIS6(4) type n DEFAULT '0150'.
PARAMETERS: RASTBIS7(4) type n DEFAULT '0180'.
PARAMETERS: RASTBIS8(4) type n DEFAULT '0210'.
PARAMETERS: RASTBIS9(4) type n DEFAULT '0240'.
PARAMETERS: RASTBIS0(4) type n DEFAULT '0270'.
SELECTION-SCREEN END OF LINE.
Noted item removed as per FI instruction
PARAMETERS: P_STAND AS CHECKBOX default 'X',
P_NOTED AS CHECKBOX ,
P_SPCAL AS CHECKBOX .
selection-screen: end of block b2.
selection-screen begin of block b3 with frame.
PARAMETERS: allgline like RFPDO1-allgline .
Parameters : p_balyes type c radiobutton group grp9 default 'X',
p_balno type c radiobutton group grp9.
selection-screen: end of block b3.
Check for the Select option
AT SELECTION-SCREEN.
IF P_STAND = '' AND P_SPCAL = '' .
MESSAGE E398(00) WITH 'PLEASE CHOOSE AT LEAST ONE G/L INDICATOR!'.
ENDIF.
Check for Company code Authorization
authority-check object 'F_BKPF_BUK'
ID 'BUKRS' FIELD p_bukrs
ID 'ACTVT' FIELD '03'.
if sy-subrc ne 0.
message e398(00) with 'You are not Authorized for CC ' p_bukrs.
Endif.
===================================================================
START-OF-SELECTION ****************************
===================================================================
START-OF-SELECTION.
V_COUNT1 = RASTBIS1 + 1.
V_COUNT2 = RASTBIS2 + 1.
V_COUNT3 = RASTBIS3 + 1.
V_COUNT4 = RASTBIS4 + 1.
V_COUNT5 = RASTBIS5 + 1.
V_COUNT6 = RASTBIS6 + 1.
V_COUNT7 = RASTBIS7 + 1.
V_COUNT8 = RASTBIS8 + 1.
V_COUNT9 = RASTBIS9 + 1.
V_COUNT10 = RASTBIS0 + 1.
perform extract_data.
===================================================================
At line Selection *****************************
===================================================================
at line-selection.
if sy-lilli >= 9 .
refresh r_bukrs.
move p_bukrs to r_bukrs-low.
move 'I' to r_bukrs-sign.
move 'EQ' to r_bukrs-option.
append r_bukrs.
refresh r_kunnr.
move customer_tab-kunnr to r_kunnr-low.
move 'I' to r_kunnr-sign.
move 'EQ' to r_kunnr-option.
append r_kunnr.
submit ZFARVR0040 and return
with p_bukrs = p_bukrs
with dat = dat
with p_stand = p_stand
with p_spcal = P_SPCAL
with s_kunnr in r_kunnr.
endif.
===================================================================
Top of Page *******************************
===================================================================
TOP-OF-PAGE.
SELECT SINGLE BUTXT FROM T001 INTO V_BUTXT
WHERE BUKRS = p_BUKRS .
WRITE:/73'Customers Aging Analysis',140'PAGE NO.',
SY-PAGNO.
WRITE:/002 'COMPANY',
011 P_BUKRS,
017 V_BUTXT,
055 allgline centered,
140 'DATE :',
150 sy-datum .
write:/002 'User',
011 sy-UNAME,
140 'Time :',
150 sy-UZEIT.
SKIP.
format color col_heading intensified off.
WRITE:/ SY-ULINE,
SY-VLINE,002 'Customer',
012 SY-VLINE,013 'Name',
043 SY-VLINE,048 'CURRENT',
061 SY-VLINE,065 'FROM ',V_COUNT1,
079 SY-VLINE,083 'FROM ',V_COUNT2,
097 SY-VLINE,101 'FROM ',V_COUNT3,
115 SY-VLINE,119 'FROM ',V_COUNT4,
133 SY-VLINE,137 'FROM ',V_COUNT5,
151 SY-VLINE,155 'FROM ',V_COUNT6,
169 SY-VLINE,173 'FROM ',V_COUNT7,
187 SY-VLINE,191 'FROM ',V_COUNT8,
205 SY-VLINE,209 'FROM ',V_COUNT9,
223 SY-VLINE,228 'FROM ',V_COUNT10,
243 SY-VLINE,248 'TOTAL',
268 SY-VLINE.
WRITE:/ SY-VLINE,002 'Number',
12 SY-VLINE,
43 SY-VLINE,
061 SY-VLINE,065 'TO ',RASTBIS2,
079 SY-VLINE,083 'TO ',RASTBIS3,
097 SY-VLINE,101 'TO ',RASTBIS4,
115 SY-VLINE,119 'TO ',RASTBIS5,
133 SY-VLINE,137 'FROM ',RASTBIS6,
151 SY-VLINE,155 'FROM ',RASTBIS7,
169 SY-VLINE,173 'FROM ',RASTBIS8,
187 SY-VLINE,191 'FROM ',RASTBIS9,
205 SY-VLINE,209 'FROM ',RASTBIS0,
223 SY-VLINE,
243 SY-VLINE,
268 SY-VLINE,
SY-ULINE.
format color off.
===================================================================
END-OF-SELECTION ***************************
===================================================================
end-of-selection.
===================================================================
Form : Extract_Data *
===================================================================
form extract_data.
Select the Customers
Select t1~kunnr t2~name1
into corresponding fields of table customer_tab
from knb1 as t1 inner join kna1 as t2
on t2~kunnr = t1~kunnr
where t1~bukrs = p_bukrs
and t1~kunnr in s_kunnr
and t1~BUSAB in s_busab
and t2~regio in s_regio
and t2~BRSCH in s_BRSCH
and t2~KTOKD in s_KTOKD.
if sy-subrc <> 0.
message e398(00) with 'No Customers Selected'.
endif.
sort customer_tab.
describe table customer_tab lines v_ttlc.
v_ttlc = v_ttlc + 10.
loop at customer_tab.
v_net1 = 0.
v_net2 = 0.
v_net3 = 0.
v_net4 = 0.
v_net5 = 0.
v_net6 = 0.
v_net7 = 0.
v_net8 = 0.
v_net9 = 0.
v_net10 = 0.
v_net11 = 0.
v_net = 0.
perform calculate_ageing
using
p_bukrs
customer_tab-kunnr
dat
RASTBIS1
RASTBIS2
RASTBIS3
RASTBIS4
RASTBIS5
RASTBIS6
RASTBIS7
RASTBIS8
RASTBIS9
RASTBIS0
P_STAND
' ' "noted item
P_SPCAL
changing
v_net1
v_net2
v_net3
v_net4
v_net5
v_net6
v_net7
v_net8
v_net9
v_net10
v_net11
v_net.
if p_balyes = 'X' or v_net > 0.
format color col_total.
write:/ sy-vline,
002 customer_tab-kunnr,
012 SY-VLINE,013(30) customer_tab-name1,
043 SY-VLINE,044(16) v_net1,
061 SY-VLINE,062(16) v_net2,
079 SY-VLINE,080(16) v_net3,
097 SY-VLINE,098(16) v_net4,
115 SY-VLINE,116(16) v_net5,
133 SY-VLINE,134(16) v_net6,
151 SY-VLINE,152(16) v_net7,
169 SY-VLINE,170(16) v_net8,
187 SY-VLINE,188(16) v_net9,
205 SY-VLINE,206(16) v_net10,
223 SY-VLINE,224(16) v_net11,
239 SY-VLINE,240(16) v_net,
258 SY-VLINE.
format color off.
hide : customer_tab-kunnr.
v_ttlnet1 = v_ttlnet1 + v_net1.
v_ttlnet2 = v_ttlnet2 + v_net2.
v_ttlnet3 = v_ttlnet3 + v_net3.
v_ttlnet4 = v_ttlnet4 + v_net4.
v_ttlnet5 = v_ttlnet5 + v_net5.
v_ttlnet6 = v_ttlnet6 + v_net6.
v_ttlnet7 = v_ttlnet7 + v_net7.
v_ttlnet8 = v_ttlnet8 + v_net8.
v_ttlnet9 = v_ttlnet9 + v_net9.
v_ttlnet10 = v_ttlnet10 + v_net10.
v_ttlnet11 = v_ttlnet11 + v_net11.
v_ttlnet = v_ttlnet + v_net.
endif.
endloop.
ULINE.
format color col_total.
write:/ sy-vline,
012 SY-VLINE,012(30) ' T O T A L',
043 SY-VLINE,044(16) v_ttlnet1,
061 SY-VLINE,062(16) v_ttlnet2,
079 SY-VLINE,080(16) v_ttlnet3,
097 SY-VLINE,098(16) v_ttlnet4,
115 SY-VLINE,116(16) v_ttlnet5,
133 SY-VLINE,134(16) v_ttlnet6,
151 SY-VLINE,152(16) v_ttlnet7,
169 SY-VLINE,170(16) v_ttlnet8,
187 SY-VLINE,188(16) v_ttlnet9,
205 SY-VLINE,206(16) v_ttlnet10,
223 SY-VLINE,224(16) v_ttlnet11,
239 SY-VLINE,240(16) v_ttlnet,
258 SY-VLINE.
format color off.
ULINE.
endform.
Function to Calculate Aging.
Form calculate_ageing using
bukrs
kunnr
dat
RASTBIS1
RASTBIS2
RASTBIS3
RASTBIS4
RASTBIS5
RASTBIS6
RASTBIS7
RASTBIS8
RASTBIS9
RASTBIS0
P_STAND
P_NOTED
P_SPCAL
changing
v_net1
v_net2
v_net3
v_net4
v_net5
v_net6
v_net7
v_net8
v_net9
v_net10
v_net11
v_net.
DATA: BEGIN OF BSID_TAB1 OCCURS 0,
BUKRS LIKE BSID-BUKRS,
PRCTR LIKE BSID-PRCTR,
KUNNR LIKE BSID-KUNNR,
FLAG(1),
UMSKZ LIKE BSID-UMSKZ,
BLART LIKE BSID-BLART,
BELNR LIKE BSID-BELNR,
BUZEI LIKE BSID-BUZEI,
NETDT LIKE BSID-ZFBDT,
ZFBDT LIKE BSID-ZFBDT,
BUDAT LIKE BSID-BUDAT,
BLDAT LIKE BSID-BLDAT,
BSCHL LIKE BSID-BSCHL,
DMBTR LIKE BSID-DMBTR,
SHKZG LIKE BSID-SHKZG,
ZBD1T LIKE BSID-ZBD1T,
ZBD2T LIKE BSID-ZBD2T,
ZBD3T LIKE BSID-ZBD3T,
REBZG LIKE BSID-REBZG,
REBZT LIKE BSID-REBZT,
KOART LIKE BSEG-KOART,
SK1DT LIKE FAEDE-SK1DT,
SK2DT LIKE FAEDE-SK2DT,
DAYSD LIKE SY-TABIX,
END OF BSID_TAB1.
RANGES: R_UMSKZ FOR BSID-UMSKZ.
Data : V_ZFBDT Like bsid-ZFBDT,
V_ZBD1T Like bsid-ZBD1T,
V_ZBD2T Like bsid-ZBD2T,
V_ZBD3T Like bsid-ZBD3T,
V_LINES(8) TYPE n.
IF P_NOTED = 'X'. "CHECK NOTED ITEMS
R_UMSKZ-SIGN = 'I'.
R_UMSKZ-OPTION = 'EQ'.
R_UMSKZ-LOW = 'D'.
APPEND R_UMSKZ.
R_UMSKZ-SIGN = 'I'.
R_UMSKZ-OPTION = 'EQ'.
R_UMSKZ-LOW = 'L'.
APPEND R_UMSKZ.
ENDIF.
IF P_STAND = 'X'. "CHECK STANDARD ITEMS
R_UMSKZ-SIGN = 'I'.
R_UMSKZ-OPTION = 'EQ'.
R_UMSKZ-LOW = ' '.
APPEND R_UMSKZ.
ENDIF.
IF P_SPCAL = 'X'. "CHECK SPECIAL G/L TRANSACTION
R_UMSKZ-SIGN = 'I'.
R_UMSKZ-OPTION = 'EQ'.
R_UMSKZ-LOW = 'A'.
APPEND R_UMSKZ.
R_UMSKZ-SIGN = 'I'.
R_UMSKZ-OPTION = 'EQ'.
R_UMSKZ-LOW = 'B'.
APPEND R_UMSKZ.
ENDIF.
SELECT * FROM BSID INTO CORRESPONDING FIELDS OF TABLE BSID_TAB
WHERE BUKRS = BUKRS AND
budat <= dat AND
KUNNR = KUNNR AND
UMSKZ in R_UMSKZ.
SELECT * FROM BSAD appending CORRESPONDING FIELDS OF TABLE BSID_TAB
WHERE BUKRS = BUKRS AND
budat <= dat AND
augdt >= dat AND
KUNNR = KUNNR AND
UMSKZ in R_UMSKZ.
DESCRIBE TABLE BSID_TAB LINES V_LINES.
LOOP AT BSID_TAB.
if bsid_tab-BLART = 'DZ'.
Select single ZFBDT ZBD1T ZBD2T ZBD3T
into (V_ZFBDT,V_ZBD1T,V_ZBD2T,V_ZBD3T)
from bsid where BUKRS = BUKRS
and kunnr = bsid_tab-kunnr
and BELNR = bsid_tab-REBZG.
if sy-subrc = 0.
bsid_tab-ZFBDT = V_ZFBDT.
bsid_tab-ZBD1T = V_ZBD1T.
bsid_tab-ZBD2T = V_ZBD2T.
bsid_tab-ZBD3T = V_ZBD3T.
else.
Select single ZFBDT ZBD1T ZBD2T ZBD3T
into (V_ZFBDT,V_ZBD1T,V_ZBD2T,V_ZBD3T)
from bsad where BUKRS = BUKRS
and kunnr = bsid_tab-kunnr
and BELNR = bsid_tab-REBZG.
if sy-subrc <> 0.
bsid_tab-ZFBDT = V_ZFBDT.
bsid_tab-ZBD1T = V_ZBD1T.
bsid_tab-ZBD2T = V_ZBD2T.
bsid_tab-ZBD3T = V_ZBD3T.
endif.
endif.
endif.
IF BSID_TAB-SHKZG = 'H'.
BSID_TAB-DMBTR = BSID_TAB-DMBTR * ( - 1 ).
ENDIF.
bsid_tab-netdt = bsid_tab-ZFBDT.
bsid_tab-netdt = bsid_tab-budat.
bsid_tab-koart = 'D'.
MODIFY BSID_TAB.
PERFORM CALC_DUE_DATE USING BSID_TAB.
BSID_TAB-DAYSD = DAT - BSID_TAB-NETDT.
IF BSID_TAB-DAYSD <= RASTBIS1.
V_NET1 = V_NET1 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS2.
V_NET2 = V_NET2 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS3.
V_NET3 = V_NET3 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS4.
V_NET4 = V_NET4 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS5.
V_NET5 = V_NET5 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS6.
V_NET6 = V_NET6 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS7.
V_NET7 = V_NET7 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS5.
V_NET8 = V_NET8 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS9.
V_NET9 = V_NET9 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS0.
V_NET10 = V_NET10 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD > RASTBIS0.
V_NET11 = V_NET11 + BSID_TAB-DMBTR.
ENDIF.
V_NET = V_NET + BSID_TAB-DMBTR.
MODIFY BSID_TAB.
ENDLOOP.
endform.
Calculate Due Date
FORM CALC_DUE_DATE USING P_BSID_TAB STRUCTURE BSID_TAB.
DATA : REFE TYPE P.
IF P_BSID_TAB-KOART = 'K' OR P_BSID_TAB-KOART = 'D'.
IF P_BSID_TAB-ZFBDT IS INITIAL.
P_BSID_TAB-ZFBDT = P_BSID_TAB-BLDAT.
ENDIF.
*Nettofälligkeit bestimmen--
IF NOT P_BSID_TAB-ZBD3T IS INITIAL.
REFE = P_BSID_TAB-ZBD3T.
ELSE.
IF NOT P_BSID_TAB-ZBD2T IS INITIAL.
REFE = P_BSID_TAB-ZBD2T.
ELSE.
REFE = P_BSID_TAB-ZBD1T.
ENDIF.
ENDIF.
*Nichtrechnungsbezogene Gutschriften sind sofort fällig--
IF P_BSID_TAB-KOART = 'D' AND P_BSID_TAB-SHKZG = 'H'
OR P_BSID_TAB-KOART = 'K' AND P_BSID_TAB-SHKZG = 'S'.
IF P_BSID_TAB-REBZG IS INITIAL.
REFE = 0.
ENDIF.
ENDIF.
P_BSID_TAB-NETDT = P_BSID_TAB-ZFBDT + REFE.
*Skontofälligkeiten bestimmen--
IF NOT P_BSID_TAB-ZBD2T IS INITIAL.
P_BSID_TAB-SK2DT = P_BSID_TAB-ZFBDT + P_BSID_TAB-ZBD2T.
ELSE.
P_BSID_TAB-SK2DT = P_BSID_TAB-NETDT.
ENDIF.
IF NOT P_BSID_TAB-ZBD1T IS INITIAL
OR NOT P_BSID_TAB-ZBD2T IS INITIAL.
P_BSID_TAB-SK1DT = P_BSID_TAB-ZFBDT + P_BSID_TAB-ZBD1T.
ELSE.
P_BSID_TAB-SK1DT = P_BSID_TAB-NETDT.
ENDIF.
*Nichtrechnungsbezogene Gutschriften sind sofort fällig--
IF P_BSID_TAB-KOART = 'D' AND P_BSID_TAB-SHKZG = 'H'
OR P_BSID_TAB-KOART = 'K' AND P_BSID_TAB-SHKZG = 'S'.
IF P_BSID_TAB-REBZG IS INITIAL.
P_BSID_TAB-SK2DT = P_BSID_TAB-NETDT.
P_BSID_TAB-SK1DT = P_BSID_TAB-NETDT.
ENDIF.
ENDIF.
ELSE.
MESSAGE E122 RAISING ACCOUNT_TYPE_NOT_SUPPORTED.
ENDIF.
E_FAEDE = FAEDE.
ENDFORM.Hi,
As vijay said...
1.Declare One final Internal table which you want to show the data
2 . populate the fieldcatalog using the FM or Manually using the itab in step1
3. Collect the Data into final internal table which you created in Step 1.
4. pass the fieldcat and Internal table to ALV FM.
chk out the prg below i have created your program but i donn knw wht are the output fields... chk your prg
*REPORT ZALVTEST .
REPORT ZSAMPLE line-size 260
line-count 65
no standard page heading.
TYPE-POOLS: SLIS.
====================================================================
TABLES *********************************
====================================================================
tables : bseg,
bkpf,
kna1,
bsid,
bsad,
knb1.
data : begin of customer_tab occurs 0,
kunnr like kna1-kunnr,
name1 like kna1-name1,
flag(1) type c,
end of customer_tab.
data : begin of customerdoc_tab occurs 0,
kunnr like kna1-kunnr,
belnr like bkpf-belnr,
gjahr like bkpf-gjahr,
monat like bkpf-monat,
end of customerdoc_tab.
data : begin of doc_tab occurs 0,
belnr like bkpf-belnr,
gjahr like bkpf-gjahr,
monat like bkpf-monat,
end of doc_tab.
DATA: BEGIN OF BSID_TAB OCCURS 0,
BUKRS LIKE BSID-BUKRS,
PRCTR LIKE BSID-PRCTR,
KUNNR LIKE BSID-KUNNR,
FLAG(1),
UMSKZ LIKE BSID-UMSKZ,
BLART LIKE BSID-BLART,
BELNR LIKE BSID-BELNR,
BUZEI LIKE BSID-BUZEI,
NETDT LIKE BSID-ZFBDT,
ZFBDT LIKE BSID-ZFBDT,
BUDAT LIKE BSID-BUDAT,
BLDAT LIKE BSID-BLDAT,
BSCHL LIKE BSID-BSCHL,
DMBTR LIKE BSID-DMBTR,
SHKZG LIKE BSID-SHKZG,
ZBD1T LIKE BSID-ZBD1T,
ZBD2T LIKE BSID-ZBD2T,
ZBD3T LIKE BSID-ZBD3T,
REBZG LIKE BSID-REBZG,
REBZT LIKE BSID-REBZT,
KOART LIKE BSEG-KOART,
SK1DT LIKE FAEDE-SK1DT,
SK2DT LIKE FAEDE-SK2DT,
DAYSD LIKE SY-TABIX,
END OF BSID_TAB.
ranges : r_bukrs for bsid-bukrs,
r_kunnr for kna1-kunnr.
===================================================================
VARIABLES *******************************
===================================================================
data : v_belnr like bseg-belnr,
v_gjahr like bkpf-gjahr,
v_monat like bkpf-monat,
v_ttlc type p,
v_flag(1) type c,
V_COUNT1(4) TYPE N,
V_COUNT2(4) TYPE N,
V_COUNT3(4) TYPE N,
V_COUNT4(4) TYPE N,
V_COUNT5(4) TYPE N,
V_COUNT6(4) TYPE N,
V_COUNT7(4) TYPE N,
V_COUNT8(4) TYPE N,
V_COUNT9(4) TYPE N,
V_COUNT10(4) TYPE N,
V_NET1 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 1
V_NET2 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 2
V_NET3 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 3
V_NET4 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 4
V_NET5 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 5
V_NET6 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 6
V_NET7 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 7
V_NET8 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 8
V_NET9 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 9
V_NET10 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 10
V_NET11 LIKE BSID-DMBTR, "CALCULATE CUSTOMER AGE 11
V_NET LIKE BSID-DMBTR, "Total Balance of Customer
V_ttlNET1 LIKE BSID-DMBTR,
V_ttlNET2 LIKE BSID-DMBTR,
V_ttlNET3 LIKE BSID-DMBTR,
V_ttlNET4 LIKE BSID-DMBTR,
V_ttlNET5 LIKE BSID-DMBTR,
V_ttlNET6 LIKE BSID-DMBTR,
V_ttlNET7 LIKE BSID-DMBTR,
V_ttlNET8 LIKE BSID-DMBTR,
V_ttlNET9 LIKE BSID-DMBTR,
V_ttlNET10 LIKE BSID-DMBTR,
V_ttlNET11 LIKE BSID-DMBTR,
V_ttlNET LIKE BSID-DMBTR,
v_kunnr like bseg-kunnr,
V_BUTXT like t001-butxt.
********Declare Data Areas for List Viewer ***********
DATA: FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
FIELDCAT_LN LIKE LINE OF FIELDCAT,
FIELD TYPE SLIS_FIELDNAME,
COL_POS TYPE I ,
PGM LIKE SY-REPID,
FIELD_VALUE(20),
TABLE_NAME(10).
===================================================================
SELECTION SCREEN ****************************
===================================================================
selection-screen begin of block b1 with frame title text-001.
parameters : p_bukrs like bseg-bukrs obligatory.
select-options : s_kunnr for kna1-kunnr,
s_BRSCH for kna1-BRSCH,
s_REGIO for kna1-REGIO,
s_KTOKD for kna1-KTOKD,
s_BUSAB for knb1-BUSAB.
selection-screen: end of block b1.
selection-screen begin of block b2 with frame title text-003.
PARAMETERS: DAT LIKE SY-DATUM DEFAULT SY-DATUM.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 01(30) TEXT-002.
SELECTION-SCREEN POSITION POS_LOW.
*PARAMETERS: RASTBIS1 LIKE RFPDO1-ALLGROGR DEFAULT '000'.
*PARAMETERS: RASTBIS2 LIKE RFPDO1-ALLGROGR DEFAULT '030'.
*PARAMETERS: RASTBIS3 LIKE RFPDO1-ALLGROGR DEFAULT '060'.
*PARAMETERS: RASTBIS4 LIKE RFPDO1-ALLGROGR DEFAULT '090'.
*PARAMETERS: RASTBIS5 LIKE RFPDO1-ALLGROGR DEFAULT '120'.
PARAMETERS: RASTBIS1(4) type n DEFAULT '0000'.
PARAMETERS: RASTBIS2(4) type n DEFAULT '0030'.
PARAMETERS: RASTBIS3(4) type n DEFAULT '0060'.
PARAMETERS: RASTBIS4(4) type n DEFAULT '0090'.
PARAMETERS: RASTBIS5(4) type n DEFAULT '0120'.
PARAMETERS: RASTBIS6(4) type n DEFAULT '0150'.
PARAMETERS: RASTBIS7(4) type n DEFAULT '0180'.
PARAMETERS: RASTBIS8(4) type n DEFAULT '0210'.
PARAMETERS: RASTBIS9(4) type n DEFAULT '0240'.
PARAMETERS: RASTBIS0(4) type n DEFAULT '0270'.
SELECTION-SCREEN END OF LINE.
Noted item removed as per FI instruction
PARAMETERS: P_STAND AS CHECKBOX default 'X',
P_NOTED AS CHECKBOX ,
P_SPCAL AS CHECKBOX .
selection-screen: end of block b2.
selection-screen begin of block b3 with frame.
PARAMETERS: allgline like RFPDO1-allgline .
Parameters : p_balyes type c radiobutton group grp9 default 'X',
p_balno type c radiobutton group grp9.
selection-screen: end of block b3.
Check for the Select option
AT SELECTION-SCREEN.
IF P_STAND = '' AND P_SPCAL = '' .
MESSAGE E398(00) WITH 'PLEASE CHOOSE AT LEAST ONE G/L INDICATOR!'.
ENDIF.
Check for Company code Authorization
authority-check object 'F_BKPF_BUK'
ID 'BUKRS' FIELD p_bukrs
ID 'ACTVT' FIELD '03'.
if sy-subrc ne 0.
message e398(00) with 'You are not Authorized for CC ' p_bukrs.
Endif.
===================================================================
START-OF-SELECTION ****************************
===================================================================
START-OF-SELECTION.
V_COUNT1 = RASTBIS1 + 1.
V_COUNT2 = RASTBIS2 + 1.
V_COUNT3 = RASTBIS3 + 1.
V_COUNT4 = RASTBIS4 + 1.
V_COUNT5 = RASTBIS5 + 1.
V_COUNT6 = RASTBIS6 + 1.
V_COUNT7 = RASTBIS7 + 1.
V_COUNT8 = RASTBIS8 + 1.
V_COUNT9 = RASTBIS9 + 1.
V_COUNT10 = RASTBIS0 + 1.
perform extract_data.
Build Field Catalogs **************************
PERFORM BUILD_FIELDCAT.
*******Start List Viewer *******************************
PERFORM START_LIST_VIEWER.
===================================================================
At line Selection *****************************
===================================================================
at line-selection.
if sy-lilli >= 9 .
refresh r_bukrs.
move p_bukrs to r_bukrs-low.
move 'I' to r_bukrs-sign.
move 'EQ' to r_bukrs-option.
append r_bukrs.
refresh r_kunnr.
move customer_tab-kunnr to r_kunnr-low.
move 'I' to r_kunnr-sign.
move 'EQ' to r_kunnr-option.
append r_kunnr.
submit ZFARVR0040 and return
with p_bukrs = p_bukrs
with dat = dat
with p_stand = p_stand
with p_spcal = P_SPCAL
with s_kunnr in r_kunnr.
endif.
===================================================================
Top of Page *******************************
===================================================================
TOP-OF-PAGE.
SELECT SINGLE BUTXT FROM T001 INTO V_BUTXT
WHERE BUKRS = p_BUKRS .
WRITE:/73'Customers Aging Analysis',140'PAGE NO.',
SY-PAGNO.
WRITE:/002 'COMPANY',
011 P_BUKRS,
017 V_BUTXT,
055 allgline centered,
140 'DATE :',
150 sy-datum .
write:/002 'User',
011 sy-UNAME,
140 'Time :',
150 sy-UZEIT.
SKIP.
format color col_heading intensified off.
WRITE:/ SY-ULINE,
SY-VLINE,002 'Customer',
012 SY-VLINE,013 'Name',
043 SY-VLINE,048 'CURRENT',
061 SY-VLINE,065 'FROM ',V_COUNT1,
079 SY-VLINE,083 'FROM ',V_COUNT2,
097 SY-VLINE,101 'FROM ',V_COUNT3,
115 SY-VLINE,119 'FROM ',V_COUNT4,
133 SY-VLINE,137 'FROM ',V_COUNT5,
151 SY-VLINE,155 'FROM ',V_COUNT6,
169 SY-VLINE,173 'FROM ',V_COUNT7,
187 SY-VLINE,191 'FROM ',V_COUNT8,
205 SY-VLINE,209 'FROM ',V_COUNT9,
223 SY-VLINE,228 'FROM ',V_COUNT10,
243 SY-VLINE,248 'TOTAL',
268 SY-VLINE.
WRITE:/ SY-VLINE,002 'Number',
12 SY-VLINE,
43 SY-VLINE,
061 SY-VLINE,065 'TO ',RASTBIS2,
079 SY-VLINE,083 'TO ',RASTBIS3,
097 SY-VLINE,101 'TO ',RASTBIS4,
115 SY-VLINE,119 'TO ',RASTBIS5,
133 SY-VLINE,137 'FROM ',RASTBIS6,
151 SY-VLINE,155 'FROM ',RASTBIS7,
169 SY-VLINE,173 'FROM ',RASTBIS8,
187 SY-VLINE,191 'FROM ',RASTBIS9,
205 SY-VLINE,209 'FROM ',RASTBIS0,
223 SY-VLINE,
243 SY-VLINE,
268 SY-VLINE,
SY-ULINE.
format color off.
===================================================================
END-OF-SELECTION ***************************
===================================================================
end-of-selection.
===================================================================
Form : Extract_Data *
===================================================================
form extract_data.
Select the Customers
Select t1~kunnr t2~name1
into corresponding fields of table customer_tab
from knb1 as t1 inner join kna1 as t2
on t2~kunnr = t1~kunnr
where t1~bukrs = p_bukrs
and t1~kunnr in s_kunnr
and t1~BUSAB in s_busab
and t2~regio in s_regio
and t2~BRSCH in s_BRSCH
and t2~KTOKD in s_KTOKD.
if sy-subrc <> 0.
message e398(00) with 'No Customers Selected'.
endif.
sort customer_tab.
describe table customer_tab lines v_ttlc.
v_ttlc = v_ttlc + 10.
loop at customer_tab.
v_net1 = 0.
v_net2 = 0.
v_net3 = 0.
v_net4 = 0.
v_net5 = 0.
v_net6 = 0.
v_net7 = 0.
v_net8 = 0.
v_net9 = 0.
v_net10 = 0.
v_net11 = 0.
v_net = 0.
perform calculate_ageing
using
p_bukrs
customer_tab-kunnr
dat
RASTBIS1
RASTBIS2
RASTBIS3
RASTBIS4
RASTBIS5
RASTBIS6
RASTBIS7
RASTBIS8
RASTBIS9
RASTBIS0
P_STAND
' ' "noted item
P_SPCAL
changing
v_net1
v_net2
v_net3
v_net4
v_net5
v_net6
v_net7
v_net8
v_net9
v_net10
v_net11
v_net.
if p_balyes = 'X' or v_net > 0.
format color col_total.
write:/ sy-vline,
002 customer_tab-kunnr,
012 SY-VLINE,013(30) customer_tab-name1,
043 SY-VLINE,044(16) v_net1,
061 SY-VLINE,062(16) v_net2,
079 SY-VLINE,080(16) v_net3,
097 SY-VLINE,098(16) v_net4,
115 SY-VLINE,116(16) v_net5,
133 SY-VLINE,134(16) v_net6,
151 SY-VLINE,152(16) v_net7,
169 SY-VLINE,170(16) v_net8,
187 SY-VLINE,188(16) v_net9,
205 SY-VLINE,206(16) v_net10,
223 SY-VLINE,224(16) v_net11,
239 SY-VLINE,240(16) v_net,
258 SY-VLINE.
format color off.
hide : customer_tab-kunnr.
v_ttlnet1 = v_ttlnet1 + v_net1.
v_ttlnet2 = v_ttlnet2 + v_net2.
v_ttlnet3 = v_ttlnet3 + v_net3.
v_ttlnet4 = v_ttlnet4 + v_net4.
v_ttlnet5 = v_ttlnet5 + v_net5.
v_ttlnet6 = v_ttlnet6 + v_net6.
v_ttlnet7 = v_ttlnet7 + v_net7.
v_ttlnet8 = v_ttlnet8 + v_net8.
v_ttlnet9 = v_ttlnet9 + v_net9.
v_ttlnet10 = v_ttlnet10 + v_net10.
v_ttlnet11 = v_ttlnet11 + v_net11.
v_ttlnet = v_ttlnet + v_net.
endif.
endloop.
ULINE.
format color col_total.
write:/ sy-vline,
012 SY-VLINE,012(30) ' T O T A L',
043 SY-VLINE,044(16) v_ttlnet1,
061 SY-VLINE,062(16) v_ttlnet2,
079 SY-VLINE,080(16) v_ttlnet3,
097 SY-VLINE,098(16) v_ttlnet4,
115 SY-VLINE,116(16) v_ttlnet5,
133 SY-VLINE,134(16) v_ttlnet6,
151 SY-VLINE,152(16) v_ttlnet7,
169 SY-VLINE,170(16) v_ttlnet8,
187 SY-VLINE,188(16) v_ttlnet9,
205 SY-VLINE,206(16) v_ttlnet10,
223 SY-VLINE,224(16) v_ttlnet11,
239 SY-VLINE,240(16) v_ttlnet,
258 SY-VLINE.
format color off.
ULINE.
endform.
Function to Calculate Aging.
Form calculate_ageing using
bukrs
kunnr
dat
RASTBIS1
RASTBIS2
RASTBIS3
RASTBIS4
RASTBIS5
RASTBIS6
RASTBIS7
RASTBIS8
RASTBIS9
RASTBIS0
P_STAND
P_NOTED
P_SPCAL
changing
v_net1
v_net2
v_net3
v_net4
v_net5
v_net6
v_net7
v_net8
v_net9
v_net10
v_net11
v_net.
DATA: BEGIN OF BSID_TAB1 OCCURS 0,
BUKRS LIKE BSID-BUKRS,
PRCTR LIKE BSID-PRCTR,
KUNNR LIKE BSID-KUNNR,
FLAG(1),
UMSKZ LIKE BSID-UMSKZ,
BLART LIKE BSID-BLART,
BELNR LIKE BSID-BELNR,
BUZEI LIKE BSID-BUZEI,
NETDT LIKE BSID-ZFBDT,
ZFBDT LIKE BSID-ZFBDT,
BUDAT LIKE BSID-BUDAT,
BLDAT LIKE BSID-BLDAT,
BSCHL LIKE BSID-BSCHL,
DMBTR LIKE BSID-DMBTR,
SHKZG LIKE BSID-SHKZG,
ZBD1T LIKE BSID-ZBD1T,
ZBD2T LIKE BSID-ZBD2T,
ZBD3T LIKE BSID-ZBD3T,
REBZG LIKE BSID-REBZG,
REBZT LIKE BSID-REBZT,
KOART LIKE BSEG-KOART,
SK1DT LIKE FAEDE-SK1DT,
SK2DT LIKE FAEDE-SK2DT,
DAYSD LIKE SY-TABIX,
END OF BSID_TAB1.
RANGES: R_UMSKZ FOR BSID-UMSKZ.
Data : V_ZFBDT Like bsid-ZFBDT,
V_ZBD1T Like bsid-ZBD1T,
V_ZBD2T Like bsid-ZBD2T,
V_ZBD3T Like bsid-ZBD3T,
V_LINES(8) TYPE n.
IF P_NOTED = 'X'. "CHECK NOTED ITEMS
R_UMSKZ-SIGN = 'I'.
R_UMSKZ-OPTION = 'EQ'.
R_UMSKZ-LOW = 'D'.
APPEND R_UMSKZ.
R_UMSKZ-SIGN = 'I'.
R_UMSKZ-OPTION = 'EQ'.
R_UMSKZ-LOW = 'L'.
APPEND R_UMSKZ.
ENDIF.
IF P_STAND = 'X'. "CHECK STANDARD ITEMS
R_UMSKZ-SIGN = 'I'.
R_UMSKZ-OPTION = 'EQ'.
R_UMSKZ-LOW = ' '.
APPEND R_UMSKZ.
ENDIF.
IF P_SPCAL = 'X'. "CHECK SPECIAL G/L TRANSACTION
R_UMSKZ-SIGN = 'I'.
R_UMSKZ-OPTION = 'EQ'.
R_UMSKZ-LOW = 'A'.
APPEND R_UMSKZ.
R_UMSKZ-SIGN = 'I'.
R_UMSKZ-OPTION = 'EQ'.
R_UMSKZ-LOW = 'B'.
APPEND R_UMSKZ.
ENDIF.
SELECT * FROM BSID INTO CORRESPONDING FIELDS OF TABLE BSID_TAB
WHERE BUKRS = BUKRS AND
budat <= dat AND
KUNNR = KUNNR AND
UMSKZ in R_UMSKZ.
SELECT * FROM BSAD appending CORRESPONDING FIELDS OF TABLE BSID_TAB
WHERE BUKRS = BUKRS AND
budat <= dat AND
augdt >= dat AND
KUNNR = KUNNR AND
UMSKZ in R_UMSKZ.
DESCRIBE TABLE BSID_TAB LINES V_LINES.
LOOP AT BSID_TAB.
if bsid_tab-BLART = 'DZ'.
Select single ZFBDT ZBD1T ZBD2T ZBD3T
into (V_ZFBDT,V_ZBD1T,V_ZBD2T,V_ZBD3T)
from bsid where BUKRS = BUKRS
and kunnr = bsid_tab-kunnr
and BELNR = bsid_tab-REBZG.
if sy-subrc = 0.
bsid_tab-ZFBDT = V_ZFBDT.
bsid_tab-ZBD1T = V_ZBD1T.
bsid_tab-ZBD2T = V_ZBD2T.
bsid_tab-ZBD3T = V_ZBD3T.
else.
Select single ZFBDT ZBD1T ZBD2T ZBD3T
into (V_ZFBDT,V_ZBD1T,V_ZBD2T,V_ZBD3T)
from bsad where BUKRS = BUKRS
and kunnr = bsid_tab-kunnr
and BELNR = bsid_tab-REBZG.
if sy-subrc <> 0.
bsid_tab-ZFBDT = V_ZFBDT.
bsid_tab-ZBD1T = V_ZBD1T.
bsid_tab-ZBD2T = V_ZBD2T.
bsid_tab-ZBD3T = V_ZBD3T.
endif.
endif.
endif.
IF BSID_TAB-SHKZG = 'H'.
BSID_TAB-DMBTR = BSID_TAB-DMBTR * ( - 1 ).
ENDIF.
bsid_tab-netdt = bsid_tab-ZFBDT.
bsid_tab-netdt = bsid_tab-budat.
bsid_tab-koart = 'D'.
MODIFY BSID_TAB.
PERFORM CALC_DUE_DATE USING BSID_TAB.
BSID_TAB-DAYSD = DAT - BSID_TAB-NETDT.
IF BSID_TAB-DAYSD <= RASTBIS1.
V_NET1 = V_NET1 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS2.
V_NET2 = V_NET2 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS3.
V_NET3 = V_NET3 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS4.
V_NET4 = V_NET4 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS5.
V_NET5 = V_NET5 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS6.
V_NET6 = V_NET6 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS7.
V_NET7 = V_NET7 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS5.
V_NET8 = V_NET8 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS9.
V_NET9 = V_NET9 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD <= RASTBIS0.
V_NET10 = V_NET10 + BSID_TAB-DMBTR.
ELSEIF BSID_TAB-DAYSD > RASTBIS0.
V_NET11 = V_NET11 + BSID_TAB-DMBTR.
ENDIF.
V_NET = V_NET + BSID_TAB-DMBTR.
MODIFY BSID_TAB.
ENDLOOP.
endform.
Calculate Due Date
FORM CALC_DUE_DATE USING P_BSID_TAB STRUCTURE BSID_TAB.
DATA : REFE TYPE P.
IF P_BSID_TAB-KOART = 'K' OR P_BSID_TAB-KOART = 'D'.
IF P_BSID_TAB-ZFBDT IS INITIAL.
P_BSID_TAB-ZFBDT = P_BSID_TAB-BLDAT.
ENDIF.
*Nettofälligkeit bestimmen--
IF NOT P_BSID_TAB-ZBD3T IS INITIAL.
REFE = P_BSID_TAB-ZBD3T.
ELSE.
IF NOT P_BSID_TAB-ZBD2T IS INITIAL.
REFE = P_BSID_TAB-ZBD2T.
ELSE.
REFE = P_BSID_TAB-ZBD1T.
ENDIF.
ENDIF.
*Nichtrechnungsbezogene Gutschriften sind sofort fällig--
IF P_BSID_TAB-KOART = 'D' AND P_BSID_TAB-SHKZG = 'H'
OR P_BSID_TAB-KOART = 'K' AND P_BSID_TAB-SHKZG = 'S'.
IF P_BSID_TAB-REBZG IS INITIAL.
REFE = 0.
ENDIF.
ENDIF.
P_BSID_TAB-NETDT = P_BSID_TAB-ZFBDT + REFE.
*Skontofälligkeiten bestimmen--
IF NOT P_BSID_TAB-ZBD2T IS INITIAL.
P_BSID_TAB-SK2DT = P_BSID_TAB-ZFBDT + P_BSID_TAB-ZBD2T.
ELSE.
P_BSID_TAB-SK2DT = P_BSID_TAB-NETDT.
ENDIF.
IF NOT P_BSID_TAB-ZBD1T IS INITIAL
OR NOT P_BSID_TAB-ZBD2T IS INITIAL.
P_BSID_TAB-SK1DT = P_BSID_TAB-ZFBDT + P_BSID_TAB-ZBD1T.
ELSE.
P_BSID_TAB-SK1DT = P_BSID_TAB-NETDT.
ENDIF.
*Nichtrechnungsbezogene Gutschriften sind sofort fällig--
IF P_BSID_TAB-KOART = 'D' AND P_BSID_TAB-SHKZG = 'H'
OR P_BSID_TAB-KOART = 'K' AND P_BSID_TAB-SHKZG = 'S'.
IF P_BSID_TAB-REBZG IS INITIAL.
P_BSID_TAB-SK2DT = P_BSID_TAB-NETDT.
P_BSID_TAB-SK1DT = P_BSID_TAB-NETDT.
ENDIF.
ENDIF.
ELSE.
MESSAGE E122 RAISING ACCOUNT_TYPE_NOT_SUPPORTED.
ENDIF.
E_FAEDE = FAEDE.
ENDFORM.
*& Form BUILD_FIELDCAT
FORM BUILD_FIELDCAT .
PGM = SY-REPID.
FIELD = 'give field name'.
TABLE_NAME = 'give table name'.
PERFORM FIELDCAT_FILL USING FIELD.
and so on for the no. of fields you want to display
ENDFORM. " BUILD_FIELDCAT
*& Form START_LIST_VIEWER
FORM START_LIST_VIEWER.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_CALLBACK_PROGRAM = PGM
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_STRUCTURE_NAME =
IS_LAYOUT =
IT_FIELDCAT = FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'A'
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IR_SALV_LIST_ADAPTER =
IT_EXCEPT_QINFO =
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = FINAL TAB(OUTPUT STATEMENTS TABLE)
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM. " START_LIST_VIEWER
*& Form FIELDCAT_FILL
text
FORM FIELDCAT_FILL USING FIELD_VALUE.
ADD 1 TO COL_POS.
FIELDCAT_LN-REF_TABNAME = TABLE_NAME.
FIELDCAT_LN-FIELDNAME = FIELD_VALUE.
FIELDCAT_LN-KEY = SPACE.
FIELDCAT_LN-DO_SUM = SPACE.
FIELDCAT_LN-COL_POS = COL_POS.
FIELDCAT_LN-NO_OUT = SPACE.
FIELDCAT_LN-QFIELDNAME = SPACE.
FIELDCAT_LN-HOTSPOT = SPACE.
APPEND FIELDCAT_LN TO FIELDCAT.
ENDFORM. " FIELDCAT_FILL
Reward points if you find this helpful
Regards,
Harini -
Help needed in formating the text using HTML tags in reports 10g
Hi all,
I have a situation here. We have an application which prints out Reports with a few lines of text in it. This text is entered by the user through our forms application in a field. That particular text is stored in each row of a particular long column. Here I want to modify the text, while printing, on the report like underline, bold, italics etc,.
As of now I am using the HTML tags, in the forms, to do so as most the times the text in the report is same.
I want to know if this can be done by the user itself while he is entering the data in the field through the form.
Thanks in advance . I will explain you more clearly if you need.Hi,
The code did work. But I am not sucessfully able to display the values entered in 2nd page in the 3rd page.Please find the code below:
<html>
<head>
<script language="LiveScript">
function WinOpen() {
if (document.form1.cap.value == "")
alert("Enter value in text box");
return;
msg=open("","DisplayWindow","toolbar=no,directories=no,menubar=no, scrollbars=yes");
msg.document.write("<HTML><HEAD><TITLE>Yo!</TITLE></HEAD>");
msg.document.write("<CENTER><h1><B>This is really cool!</B></h1></CENTER>");
msg.document.write('<BODY><form name="form2">');
for(var i =0; i < document.form1.cap.value; i++)
msg.document.write("<INPUT type=text name=tbAlphaNumeric>");
msg.document.write("<br>");
msg.document.write('<input type="button" name="Button2" value="Steal" onClick="javascript:window.opener.WinShow();">');
msg.document.write('</form></BODY></HTML>');
function WinShow() {
msg=open("","DisplayWindow","toolbar=no,directories=no,menubar=no, scrollbars=yes");
msg.document.write("<HTML><HEAD><TITLE>Great!</TITLE></HEAD>");
msg.document.write("<CENTER><h1><B>Display of second page text elements!</B></h1></CENTER>");
msg.document.write('<BODY><form name="form3">');
for(var j =0; j < document.form1.cap.value; j++)
msg.document.write(document.form2.tbAlphaNumeric[j].value);
msg.document.write("<br>");
msg.document.write('</form></BODY></HTML>');
</script>
</head>
<body>
<form name="form1">
<INPUT type= "text" name=cap>
<input type="button" name="Button1" value="Push me" onClick="WinOpen()">
</form>
</body>
</html> -
How to design Customized ALV report like normal report !
Hello Friends,
I like to design a ALV report, with sub headers, sub totals, summary total and other summary details like percentage sale, which is not relavent to the fields displayed in the ALV.
I know it is possible to get total of the displayed field, but is it possible to design flexible ALV report like normal report.
Could U please provide example code, if available.
Thank you,
SenthilHI,
Just check this example.
REPORT ZLAXMI_ALVEXER2 MESSAGE-ID ZZ .
*& TABLES DECLARATION *
TABLES: VBAK.
*& TYPE POOLS DECLARATION *
TYPE-POOLS: SLIS.
*& INTERNAL TABLE DECLARATION *
DATA: BEGIN OF ITAB OCCURS 0,
ICON TYPE ICON-ID,
VBELN LIKE VBAK-VBELN,
AUDAT LIKE VBAK-AUDAT,
VBTYP LIKE VBAK-VBTYP,
AUART LIKE VBAK-AUART,
AUGRU LIKE VBAK-AUGRU,
NETWR LIKE VBAK-NETWR,
WAERK LIKE VBAK-WAERK,
END OF ITAB.
*INTERNAL TABLE FOR FIELD CATALOG
DATA: WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
IT_FIELDCAT TYPE STANDARD TABLE OF SLIS_FIELDCAT_ALV
WITH HEADER LINE,
*INTERNAL TABLE FOR EVENTS
DATA: IT_EVENT TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT,
*INTERNAL TABLE FOR SORTING
IT_SORT TYPE SLIS_T_SORTINFO_ALV,
WA_SORT TYPE SLIS_SORTINFO_ALV,
*INTERNAL TABLE FOR LAYOUT
WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
*& VARIABLE DECLARATION *
DATA : V_REPID TYPE SY-REPID,
V_PAGNO(4) TYPE N,
V_DATE(8) TYPE C.
*& CONSTANTS *
CONSTANTS: C_X TYPE C VALUE 'X'.
*& SELECTION SCREEN *
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,
S_VBTYP FOR VBAK-VBTYP DEFAULT 'C'.
SELECTION-SCREEN: END OF BLOCK B1.
SELECTION-SCREEN: BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) TEXT-003.
PARAMETERS: P_LIST RADIOBUTTON GROUP RAD1 DEFAULT 'X'.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN : BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) TEXT-004.
PARAMETERS: P_GRID RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN : END OF LINE.
SELECTION-SCREEN: END OF BLOCK B2.
AT SELECTION-SCREEN.
PERFORM VALIDATE_SCREEN.
*& START OF SELECTION *
START-OF-SELECTION.
CLEAR: ITAB, ITAB[].
V_REPID = SY-REPID.
PERFORM GET_DATA.
PERFORM DISPLAY_DATA.
*& END OF SELECTION *
END-OF-SELECTION.
*--DO ALV Process
V_REPID = SY-REPID.
*--Sort the Output Fields
PERFORM SORT_FIELDS.
*--Build Field catalog for the Output fields
PERFORM BUILD_FIELDCAT.
*--Set the Layout for ALV
PERFORM SET_LAYOUT.
*& Form GET_DATA
text
TO GET THE DATA FROM TABLES INTO ITAB
FORM GET_DATA .
SELECT VBELN
AUDAT
VBTYP
AUART
AUGRU
NETWR
WAERK
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM VBAK
WHERE VBELN IN S_VBELN AND
AUDAT > '04.04.2005'
AND NETWR > 0.
LOOP AT ITAB.
IF ITAB-NETWR < 10000.
ITAB-ICON = '@08@'.
ELSEIF ITAB-NETWR > 10000 AND ITAB-NETWR < 100000.
ITAB-ICON = '@09@'.
ELSEIF ITAB-NETWR > 100000.
ITAB-ICON = '@0A@'.
ENDIF.
MODIFY ITAB INDEX SY-TABIX.
ENDLOOP.
ENDFORM. " GET_DATA
*& Form sort_fields
FORM SORT_FIELDS .
CLEAR WA_SORT.
WA_SORT-FIELDNAME = 'VBTYP'.
WA_SORT-SPOS = '1'.
WA_SORT-UP = 'X'.
APPEND WA_SORT TO IT_SORT.
CLEAR WA_SORT.
WA_SORT-FIELDNAME = 'NETWR'.
WA_SORT-SPOS = '2'.
WA_SORT-UP = 'X'.
WA_SORT-SUBTOT = 'X'.
APPEND WA_SORT TO IT_SORT.
ENDFORM. " sort_fields
*& Form build_fieldcat
*FORM BUILD_FIELDCAT .
IT_FIELDCAT-COL_POS = '1'.
IT_FIELDCAT-FIELDNAME = 'ICON'.
IT_FIELDCAT-KEY = 'X'.
IT_FIELDCAT-OUTPUTLEN = '10'.
IT_FIELDCAT-SELTEXT_L = 'LIGHT'.
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '2'.
IT_FIELDCAT-FIELDNAME = 'VBELN'.
IT_FIELDCAT-KEY = 'X'.
IT_FIELDCAT-OUTPUTLEN = '10'.
IT_FIELDCAT-SELTEXT_L = 'SALES DOC NUMBER'(009).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '3'.
IT_FIELDCAT-FIELDNAME = 'AUDAT'.
IT_FIELDCAT-KEY = 'X'.
IT_FIELDCAT-OUTPUTLEN = '4'.
IT_FIELDCAT-SELTEXT_L = 'DOCUMENT DATE'(010).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '4'.
IT_FIELDCAT-FIELDNAME = 'VBTYP'.
IT_FIELDCAT-KEY = 'X'.
IT_FIELDCAT-OUTPUTLEN = '4'.
IT_FIELDCAT-SELTEXT_L = 'CATEGORY'(011).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '5'.
IT_FIELDCAT-FIELDNAME = 'AUART'.
IT_FIELDCAT-OUTPUTLEN = '4'.
IT_FIELDCAT-SELTEXT_L = 'DOCUMENT TYPE'(012).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '6'.
IT_FIELDCAT-FIELDNAME = 'AUGRU'.
IT_FIELDCAT-OUTPUTLEN = '12'.
IT_FIELDCAT-SELTEXT_L = 'Order reason'(013).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '7'.
IT_FIELDCAT-FIELDNAME = 'NETWR'.
IT_FIELDCAT-OUTPUTLEN = '12'.
IT_FIELDCAT-SELTEXT_L = 'NET VALUE'(014).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
IT_FIELDCAT-COL_POS = '8'.
IT_FIELDCAT-FIELDNAME = 'WAERK'.
IT_FIELDCAT-OUTPUTLEN = '12'.
IT_FIELDCAT-SELTEXT_L = 'SD DOC CURR'(015).
APPEND IT_FIELDCAT.
CLEAR IT_FIELDCAT.
*ENDFORM. " build_fieldcat
*& Form set_layout
FORM SET_LAYOUT .
IF P_LIST = C_X .
WA_LAYOUT-WINDOW_TITLEBAR = 'LIST DISPLAY'(016).
WA_LAYOUT-ZEBRA = 'X'.
*-- ALV LIST DISPLAY
PERFORM LIST_DISPLAY TABLES ITAB.
*-- ALV GRID DISPLAY
ELSEIF P_GRID = C_X.
WA_LAYOUT-WINDOW_TITLEBAR = 'GRID DISPLAY'(017).
WA_LAYOUT-ZEBRA = 'X'.
PERFORM GRID_DISPLAY TABLES ITAB.
ENDIF.
ENDFORM. " set_layout
*& Form list_display
FORM LIST_DISPLAY TABLES P_ITAB .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT[]
IT_SORT = IT_SORT[]
I_SAVE = 'U'
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.
ENDFORM. " list_display
*& Form GRID_DISPLAY
FORM GRID_DISPLAY TABLES P_ITAB .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT[]
IT_SORT = IT_SORT[]
IT_EVENTS = IT_EVENT
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.
ENDFORM. " GRID_DISPLAY
*& Form VALIDATE_SCREEN
text
--> p1 text
<-- p2 text
FORM VALIDATE_SCREEN .
DATA: LV_VBELN LIKE VBAK-VBELN.
IF NOT S_VBELN IS INITIAL.
SELECT VBELN
INTO LV_VBELN
UP TO 1 ROWS
FROM VBAK
WHERE VBELN IN S_VBELN.
ENDSELECT.
IF SY-SUBRC <> 0.
MESSAGE E000 WITH 'INVALID SALES DOC'.
ENDIF.
ENDIF.
ENDFORM. " VALIDATE_SCREEN
*& Form display_data
text
--> p1 text
<-- p2 text
FORM DISPLAY_DATA .
DEFINE M_FIELDCAT.
ADD 1 TO WA_FIELDCAT-COL_POS.
WA_FIELDCAT-FIELDNAME = &1.
WA_FIELDCAT-REF_TABNAME = 'VBAK'.
WA_FIELDCAT-DO_SUM = &2.
WA_FIELDCAT-CFIELDNAME = &3.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
END-OF-DEFINITION.
DATA:
LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
M_FIELDCAT 'ICON' '' ''.
M_FIELDCAT 'VBELN' '' ''.
M_FIELDCAT 'AUDAT' '' ''.
M_FIELDCAT 'VBTYP' '' ''.
M_FIELDCAT 'AUART' '' ''.
M_FIELDCAT 'AUGRU' '' ''.
M_FIELDCAT 'NETWR' 'C' 'WAERK'.
M_FIELDCAT 'WAERK' '' ''.
ENDFORM. " display_data
Regards
Laxmi -
Want to send a text in BOLD via email
Hi all,
I want to send a text in BOLD via email,
Right now i ma using the Function Module: SO_NEW_DOCUMENT_ATT_SEND_API1 for sending attachments via mail.
But i do not know how i can send some text in BOLD.
<b>****NOTE: I want the text in BOLD is in the BODY of the mail</b>
I checked the Import and tables parameters inthat FM.But there is no option in those parameters.
So, can any one plz help me to solve this issue.
Thanks&Regards,
Srikanth T
Message was edited by:
srikanth T
Message was edited by:
srikanth TConvert them into smartform or SAP Script from report then convert into pdf format and then send an email ...
See the example code :
report zemail.
data: itcpo like itcpo,
tab_lines like sy-tabix.
Variables for EMAIL functionality
data: maildata like sodocchgi1.
data: mailpack like sopcklsti1 occurs 2 with header line.
data: mailhead like solisti1 occurs 1 with header line.
data: mailbin like solisti1 occurs 10 with header line.
data: mailtxt like solisti1 occurs 10 with header line.
data: mailrec like somlrec90 occurs 0 with header line.
data: solisti1 like solisti1 occurs 0 with header line.
perform send_form_via_email.
FORM SEND_FORM_VIA_EMAIL *
form send_form_via_email.
clear: maildata, mailtxt, mailbin, mailpack, mailhead, mailrec.
refresh: mailtxt, mailbin, mailpack, mailhead, mailrec.
Creation of the document to be sent File Name
maildata-obj_name = 'TEST'.
Mail Subject
maildata-obj_descr = 'Subject'.
Mail Contents
mailtxt-line = 'Here is your file'.
append mailtxt.
Prepare Packing List
perform prepare_packing_list.
Set recipient - email address here!!!
mailrec-receiver = '[email protected]'.
mailrec-rec_type = 'U'.
append mailrec.
Sending the document
call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
exporting
document_data = maildata
put_in_outbox = ' '
tables
packing_list = mailpack
object_header = mailhead
contents_bin = mailbin
contents_txt = mailtxt
receivers = mailrec
exceptions
too_many_receivers = 1
document_not_sent = 2
operation_no_authorization = 4
others = 99.
if sy-subrc = 0.
submit rsconn01 with mode = 'INT' and return.
endif.
endform.
Form PREPARE_PACKING_LIST
form prepare_packing_list.
clear: mailpack, mailbin, mailhead.
refresh: mailpack, mailbin, mailhead.
describe table mailtxt lines tab_lines.
read table mailtxt index tab_lines.
maildata-doc_size = ( tab_lines - 1 ) * 255 + strlen( mailtxt ).
Creation of the entry for the compressed document
clear mailpack-transf_bin.
mailpack-head_start = 1.
mailpack-head_num = 0.
mailpack-body_start = 1.
mailpack-body_num = tab_lines.
mailpack-doc_type = 'RAW'.
append mailpack.
mailhead = 'TEST.TXT'.
append mailhead.
File 1
mailbin = 'This is file 1'.
append mailbin.
describe table mailbin lines tab_lines.
mailpack-transf_bin = 'X'.
mailpack-head_start = 1.
mailpack-head_num = 1.
mailpack-body_start = 1.
mailpack-body_num = tab_lines.
mailpack-doc_type = 'TXT'.
mailpack-obj_name = 'TEST1'.
mailpack-obj_descr = 'Subject'.
mailpack-doc_size = tab_lines * 255.
append mailpack.
*File 2
mailbin = 'This is file 2'.
append mailbin.
data: start type i.
data: end type i.
start = tab_lines + 1.
describe table mailbin lines end.
mailpack-transf_bin = 'X'.
mailpack-head_start = 1.
mailpack-head_num = 1.
mailpack-body_start = start.
mailpack-body_num = end.
mailpack-doc_type = 'TXT'.
mailpack-obj_name = 'TEST2'.
mailpack-obj_descr = 'Subject'.
mailpack-doc_size = tab_lines * 255.
append mailpack.
endform.
With PDF Attachment:CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'Z_TEST'
IMPORTING
fm_name = v_fname.
CALL FUNCTION v_fname
EXPORTING
control_parameters = x_ctrl_p
IMPORTING
job_output_info = x_output_data.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 134
IMPORTING
bin_filesize = v_size
TABLES
otf = x_output_data-otfdata
lines = it_lines
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'
EXPORTING
line_width_dst = 255
TABLES
content_in = it_lines
content_out = it_soli
EXCEPTIONS
err_line_width_src_too_long = 1
err_line_width_dst_too_long = 2
err_conv_failed = 3
OTHERS = 4.
CALL FUNCTION 'FUNC_CONVERT_DATA_ODC01'
EXPORTING
iv_byte_mode = 'X'
TABLES
it_data = it_lines
et_data = it_table.
*-----To caluculate total number of lines of internal table
DESCRIBE TABLE it_table LINES v_lines.
*-----Create Message Body and Title and Description
it_mess = 'successfully converted smartform from otf format to pdf' .
APPEND it_mess.
wa_doc_data-obj_name = 'smartform'.
wa_doc_data-expiry_dat = sy-datum + 10.
wa_doc_data-obj_descr = 'smartform'.
wa_doc_data-sensitivty = 'F'.
wa_doc_data-doc_size = v_lines * 255.
APPEND it_pcklist.
*-----PDF Attachment
it_pcklist-transf_bin = 'X'.
it_pcklist-head_start = 1.
it_pcklist-head_num = 0.
it_pcklist-body_start = 1.
it_pcklist-doc_size = v_lines_bin * 255 .
it_pcklist-body_num = v_lines.
it_pcklist-doc_type = 'PDF'.
it_pcklist-obj_name = 'smartform'.
it_pcklist-obj_descr = 'smart_desc'.
it_pcklist-obj_langu = 'E'.
it_pcklist-doc_size = v_lines * 255.
APPEND it_pcklist.
*-----Giving the receiver email-id
CLEAR it_receivers.
it_receivers-receiver = [email protected]'.
it_receivers-rec_type = 'U'.
APPEND it_receivers.
*-----Calling the function module to sending email
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = wa_doc_data
put_in_outbox = 'X'
commit_work = 'X'
TABLES
packing_list = it_pcklist
contents_txt = it_mess
contents_hex = it_table
receivers = it_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8. -
Is there any class similar as cl_GUi_alv_grid for normal report
we have a requirement to put one report some part of in the screen.
so we know there is class on which we can display ALV
i.e "cl_GUi_alv_grid".in the same way is there any class in which we can use as a normal report.
right now i have an idea of keeping a container on the screen and i want some class whcih can handle as normal report.
please help. this is very urgent.
Thanks & Regards
Anil Kumar KEND_OF_LIST will trigger at the end of list only. but to see the o/p u have to pass print parameters into set_table_for firstdisplay.
DATA: lt_lvcfieldcat type lvc_t_fcat,
ls_lvcfieldcat type lvc_s_fcat,
LS_PRINT TYPE LVC_S_PRNT.
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS HANDLE_TOP_OF_PAGE
FOR EVENT PRINT_TOP_OF_PAGE OF CL_GUI_ALV_GRID.
METHODS HANDLE_END_OF_LIST
FOR EVENT PRINT_END_OF_LIST OF CL_GUI_ALV_GRID.
ENDCLASS. "cl_event_receiver DEFINITION
CLASS CL_EVENT_RECEIVER IMPLEMENTATION
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_TOP_OF_PAGE.
perform top_of_page.
ENDMETHOD . "handle_top_of_page
METHOD HANDLE_END_OF_LIST .
PERFORM END_OF_LIST.
ENDMETHOD . "handle_end_of_list
ENDCLASS . "cl_event_receiver IMPL
*& Form TOP_OF_PAGE
text
FORM TOP_OF_PAGE.
DATA: V_HEAD LIKE YBUYOFFQA_QDMST-QA_DESC.
SKIP 1.
SELECT SINGLE QA_DESC FROM YBUYOFFQA_QDMST INTO V_HEAD
WHERE QUALITYAUDIT = S_AUDIT-LOW.
FORMAT INTENSIFIED OFF.
WRITE: 40 'V-MSD/AM8',70 'DATE :'.
WRITE:/40 'REVISION NO.01', 70 'SHIFT:'.
SKIP 1.
WRITE:/35 V_HEAD .
ENDFORM. "TOP_OF_PAGE
*& Form END_OF_LIST
text
FORM END_OF_LIST.
SKIP.
uline at 1(44).
WRITE:/ sy-vline,
8 'No. Of Vehicles without any defects',44 sy-vline.
write:/ sy-vline, 'FRC%=',10 sy-uline(35).
write:/ sy-vline,12 'No. Of Vehicles Checked',44
sy-vline.
write:/ sy-uline(44).
uline at 1(44).
skip.
uline at 1(47).
WRITE:/ sy-vline,
8 'No. Of Vehicles worked within tact time',47 sy-vline.
write:/ sy-vline, 'FBO%=',10 sy-uline(38).
write:/ sy-vline,12 'No. Of Vehicles Checked',47
sy-vline.
write:/ sy-uline(47).
uline at 1(47).
ENDFORM. "END_OF_LIST
*& Form PRINT_PARAMS
text
--> p1 text
<-- p2 text
FORM PRINT_PARAMS .
LS_PRINT-GRPCHGEDIT = 'X'.
LS_PRINT-RESERVELNS = '3'.
LS_PRINT-NO_COLWOPT = 'X'.
ENDFORM. " PRINT_PARAMS
********display data******
perform PRINT_PARAMS.
CALL METHOD GO_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IS_LAYOUT = LS_LVCLAYOUT
IS_PRINT = LS_PRINT
IT_TOOLBAR_EXCLUDING = IT_EXCLUDE
CHANGING
IT_OUTTAB = <TEMP_TAB>
IT_FIELDCATALOG = LT_LVCFIELDCAT[]
IT_SORT = LVC_TSORT[].
ENDFORM. " DISP_DATA -
How to refresh screen in normal reports?
Hi Experts,
I am developing normal report. I am writing the output using write statement.
In my out put one filed is check box.
Suppose I have 12 records in the output, if I tick the 2 records and process these records using application tool bar button,
After that I need to refresh the screen and output should be only 10 records needs to be displayed.
How to do this requirement? Please suggest on this.
Thanks in Advance,
Uru2019s HarshaHai Harsha,
Please look at the following given Code May be helpful for you.
TYPES : BEGIN OF str_mard ,
matnr TYPE mard-matnr,
lgort TYPE mard-lgort,
werks TYPE mard-werks,
END OF str_mard.
DATA : wa_mard TYPE str_mard,
it_mard TYPE TABLE OF str_mard.
data : BEGIN OF str_makt occurs 0,
chkbx type checkbox,
matnr TYPE makt-matnr,
maktg TYPE makt-maktg,
END OF str_makt.
DATA : wa_makt.
data: it_makt like str_makt OCCURS 0 WITH HEADER LINE.
data: lines type i.
PARAMETERS : plant TYPE mard-werks,
stor LIKE mard-lgort.
DATA: matnr like mseg-matnr,
maktx like makt-maktx.
SET PF-STATUS 'MYLIST'.
START-OF-selection.
perform fetch_data.
PERFORM display_data.
*& Form fetch_data
* text
FORM fetch_data.
if sy-ucomm <> 'SAVE'.
SELECT matnr lgort werks FROM mard
INTO CORRESPONDING FIELDS OF TABLE it_mard
WHERE lgort = stor
AND werks = plant.
SELECT matnr maktg FROM makt
INTO CORRESPONDING FIELDS OF TABLE it_makt FOR ALL ENTRIES IN it_mard
WHERE matnr = it_mard-matnr AND spras = 'E'.
endif.
if sy-ucomm = 'SAVE'.
describe table it_makt lines lines.
do lines times.
READ LINE sy-index FIELD VALUE it_makt-chkbx it_makt-matnr
it_makt-maktg.
IF it_makt-chkbx = 'X'.
matnr = it_makt-matnr.
maktx = it_makt-maktg.
read table it_makt WITH KEY matnr = it_makt-matnr
maktg = it_makt-maktg.
clear it_makt.
modify it_makt index sy-tabix.
endif.
enddo.
endif.
endform. "fetch_data
*& Form display_data
* text
form display_data.
LOOP AT it_makt.
WRITE : /1 it_makt-matnr COLOR 1,
40 it_makt-maktg COLOR 2,
85 it_makt-chkbx as CHECKBOX input on.
HIDE: it_makt-matnr,it_makt-chkbx.
ENDLOOP.
endform. "display_data
At USER-COMMAND.
clear it_makt.
case sy-ucomm.
when 'SAVE'.
perform fetch_data.
perform display_data.
endcase.
Edited by: shelly Malik on Aug 1, 2009 8:58 AM -
Cannot change Bold to Normal in HTMLEditorKit
We have a JTextPane based HTML editor which use HTMLEditorKit. Once we mark some text as bold the HTML formed contains the <b>....</b> tag correctly. But opening the document next time, even if we remove the bold attribute from characters and even if they appear as Normal on screen of JTextPane... the HTML formed still contains the <b>...</b> tags. Those are not removed. So text once turned bold cannot be turned back to Normal.
Please help.We use JDK 1.3.1.
Actually what we do is..
Action aBold = new StyledEditorKit.BoldAction();//define action
aBold.putValue(Action.NAME, "Bold");//is this needed??
tbtnBold = new JToggleButton((Action)aBold); //associate action with a toggle button
//add a listener to the button.. a listener again !! why? I'm not sure. This listener toggles the bBoldFlag as required.
tbtnBold.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
if(bBoldFlag)
bBoldFlag = false;
else
bBoldFlag = true;
// from other part of code where attributes of selected text needs to be changed as a "format font" dialog box... the bBoldFlag is checked to decide whether text should be bold or normal. like....
if(bBoldFlag)
StyleConstants.setBold(aSimpleAttributeSet,true);
else
StyleConstants.setBold(aSimpleAttributeSet,false);
This code was developed by previous developer. So its getting tough for me to justify each part of code. Thanks for your help... in advance.
Maybe you are looking for
-
List of SAP PI 7.0 ABAP transactions
Hi, Can any one proivde me the list of all transactions codes , that will be used for SAP PI 7.0 ABAP system. Do we have any blog or thread which talks about these transactions. Thanks, Younus
-
Selected Attribute in f:selectitem is missing ?
Hello, In EA4, it was possible to write.. <h:selectitem .... selected="true" />However, in the beta release, there is no "selected" attribute in <f:selectitem>. How do we specify the initial selected item in case of <f:selectitem> ? Ajay
-
Photoshop error on start up.
When ever I open Photoshop CS6, I get this error about 90% of the time. Thoughts? I am updated to the newest version.
-
IPod Classic synchronises and works in car but otherwise is dead
I have an iPod Classic 30GB which synchronises with my Mac's iTunes perfectly well, and when I plug it into my car (bmw 1-series with iPod control via satnav) I can play my music. However, when the iPod is not connected to the Mac or car it is unusea
-
Is it possible to use FaceTime with 3G?
I have an Ipad2 with 3G and Im unable to use FaceTime if Im not connected to WiFi. Is it possible to use FaceTime without connecting to WiFi and only using 3G internet connection? If it is possible, how?