In ALV how to make column heading in two lines ?
In ALV if one the column heading is say for example "Purchase Order", if i want to display it as "Purchase" and "Order" below the "Purchase". Is it possible? if so how?
Thanks in advance.
Sounder
Hi Sounder,
It is highly impossible... If u tell your requirement clearly... we will try for solution..
thanks and regards
sk
Rewards if helpful
Similar Messages
-
Way to wrap Column Heading in two lines
Hi,
We have created one table UI element in web dynpro application.
We have a requirement to wrap a table column heading in the table.
Is there any way to wrap or keep the column heading in two lines.
Thanks in advance..
Regards,
Kranthi.Hi Kranthi,
not that I know of - but then again that doesn't mean there isn't!
however, you could force two lines by inserting your column in the table as a column inside a column group - you would get a line for the column group and a line for the column - effectively two lines. If this was the only column in the column group I can't see how it could cause any issue.
Hope this helps,
Cheers,
Chris -
In ALV to make coloum heading in two lines
I have requrement that my alv report should display the output in two lines.
ie the first one should be in English and the second line should be in fresh for the same field description .
Is this posible? can one help me in doing this.Hi,
I guess this is not possible to display the report header in two lines.
If you find any solution then please post it in SDN, so that i can use the functionality in my future.
Rgds,
Bujji -
Hi,
I want to split a column heading in tow lines. How can I do this?
Thanks Danielaput a br(eak) in between the words, e.g.
<br><br>
this has to go
<br>on two lines
<br><br>
this has to go[br]on two lines
(replace the "[" and "]" by "<" and ">"
<br>
<br>
Jan.
Message was edited by:
user523689 -
Alv column heading in two lines
Hi,
In ALV grid column headings is possible in two lines.
ex.
material old material
Number Number
Regards,
SureshHi Suresh,
It is possible in ALV Grid. Please try using the code below:
Data : it_fieldcat type slis_t_fieldcat_alv,
wa_fieldcat like line of it_fieldcat,
IT_LISTHEADER TYPE SLIS_T_LISTHEADER,
WA_LISTHEADER LIKE LINE OF IT_LISTHEADER,
W_PSTRING1(65) TYPE C,
W_PSTRING2(60) TYPE C.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = 'TOP'
IT_FIELDCAT = it_fieldcat
TABLES
t_outtab = it_final
*& Form TOP
TOP OF PAGE FOR ALV REPORT
FORM TOP.
*APPENDING HEADER DETAILS
W_PSTRING1 = text-001.
WA_LISTHEADER-TYP = 'H'.
WA_LISTHEADER-INFO = W_PSTRING1.
APPEND WA_LISTHEADER TO IT_LISTHEADER.
clear wa_listheader.
W_PSTRING2 = text-002.
WA_LISTHEADER-TYP = 'H'.
WA_LISTHEADER-INFO = W_PSTRING2.
APPEND WA_LISTHEADER TO IT_LISTHEADER.
clear wa_listheader.
FM FOR DISPLAYING THE HEADER
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LISTHEADER.
CLEAR IT_LISTHEADER.
ENDFORM.
text-001 = ALV Demo
text-002 = Sample Program
Output : ALV Demo
Sample Program
I hope it will solve your problem. -
How to maintain the column heading in two lines
for example i have field ACCOUNTING CLEARK
i want to display this description in alv list
like ACC
clk
Please send the solution for this.
very urgent
thanks in advance
regards
venuhi
please check my code
for field KNB1-BUSAB
i want the description ACC in place of ACC CLK
CLK
means in two lines
report zfir0098 message-id zz
line-size 255
line-count 65
no standard page heading.
(C) Copyright <2006> by Eastman Kodak Company - All Rights Reserved.
Report Name : ZFIR0098
Author : Venugopalreddy.K
Created on : 12-MAY-2006
SIR# : 086279
Interface ID# : RO-01509 - Open AR Aging by Due Date
Correction# : D11K947333
Transaction code: Z_ZFIR0098
Logical Database: N/A
SAPScript name : N/A
Application Area: FI
Programs Called : N/A
Function Modules: REUSE_ALV_VARIANT_F4
REUSE_ALV_VARIANT_DEFAULT_GET
REUSE_ALV_EVENTS_GET
REUSE_ALV_LIST_DISPLAY
REUSE_ALV_EVENTS_GET
REUSE_ALV_COMMENTARY_WRITE
Description : Report to display Open AR with Aging by due
date. The open items are displayed by Linked
Accounts, Customer Account, Business unit and
Posting Date.
Correction# SIR# Modified By Date
D11Kxxxxxx xxxxxx xxxx MM/DD/YYYY
Description of change (copy from SIR):
(text)................................................................
TABLE DEFINITION *
tables : t001, "Company Codes
knvv, "Customer Master Sales Data
bsid, "Accounting: Secondary Index for Customers
knkk, "Customer master credit management: Control area data
kna1, "General Data in Customer Master
knb1, "Customer Master (Company Code)
t052, "Terms of Payment
tvv1. "Customer Group 1
TYPE POOLS *
type-pools: slis.
INTERNAL TABLE DECLARATION
Internal table for Customer Master (Company Code)
data : begin of i_knb1 occurs 0,
kunnr type knb1-kunnr,
bukrs type knb1-bukrs,
busab type knb1-busab,
end of i_knb1.
Internal table for Customer Master Sales Data
data : begin of i_knvv occurs 0,
kunnr type knvv-kunnr,
vkorg type knvv-vkorg,
kvgr1 type knvv-kvgr1,
zterm type knvv-zterm,
end of i_knvv.
Internal table for linked account nos.
data : begin of i_knkk occurs 0,
kunnr type knkk-kunnr,
kkber type knkk-kkber,
klimk type knkk-klimk,
knkli type knkk-knkli,
sbgrp type knkk-sbgrp,
grupp type knkk-grupp,
kdgrp type knkk-kdgrp,
end of i_knkk.
Internal table for Customer's credit limit
data : begin of i_knkk_knkli occurs 0,
kunnr type knkk-kunnr,
klimk type knkk-klimk,
knkli type knkk-knkli,
end of i_knkk_knkli.
Internal table for T001 records
data: begin of i_t001 occurs 0,
bukrs type t001-bukrs,
waers type t001-waers,
end of i_t001.
Internal table for BSID records
data : begin of i_bsid occurs 0,
bukrs type bsid-bukrs,
kunnr type bsid-kunnr,
zuonr type bsid-zuonr,
belnr type bsid-belnr,
budat type bsid-budat,
bldat type bsid-bldat,
waers type bsid-waers,
shkzg type bsid-shkzg,
dmbtr type bsid-dmbtr,
wrbtr type bsid-wrbtr,
zfbdt type bsid-zfbdt,
zterm type bsid-zterm,
zbd1t type bsid-zbd1t,
zbd2t type bsid-zbd2t,
zbd3t type bsid-zbd3t,
kkber type bsid-kkber,
end of i_bsid.
Internal table for Customer Master
data : begin of i_kna1 occurs 0,
kunnr type kna1-kunnr,
name1 type kna1-name1,
end of i_kna1.
Internal table for Terms of Payment
data : begin of i_t052 occurs 0,
zterm type t052-zterm,
ztagg type t052-ztagg,
ztag1 type t052-ztag1,
ztag2 type t052-ztag2,
ztag3 type t052-ztag3,
end of i_t052.
Internal table for final output
data : begin of i_output occurs 0,
kunnr1 type bsid-kunnr,
kunnr type bsid-kunnr,
bukrs type t001-bukrs,
kdgrp type knkk-kdgrp,
name1 type kna1-name1,
kvgr1 type knvv-kvgr1,
knkli type knkk-knkli,
klimk type knkk-klimk,
sbgrp type knkk-sbgrp,
zuonr type bsid-zuonr,
bldat type bsid-bldat,
due_date type bsid-zfbdt,
not_due type bsid-dmbtr,
curr_due type bsid-dmbtr,
due_01_30 type bsid-dmbtr,
due_31_60 type bsid-dmbtr,
due_61_90 type bsid-dmbtr,
due_91_180 type bsid-dmbtr,
due_181_365 type bsid-dmbtr,
due_gt_365 type bsid-dmbtr,
spcol type bsid-dmbtr,
tot_due type bsid-dmbtr,
tot_ar type bsid-dmbtr,
waers type t001-waers,
zterm type bsid-zterm,
zterm1 type knvv-zterm,
v_no_days type i,
busab type knb1-busab,
end of i_output.
Internal table for summary data
data : begin of i_output_summary occurs 0,
bukrs type t001-bukrs,
kunnr type bsid-kunnr,
name1 type kna1-name1,
kvgr1 type knvv-kvgr1,
klimk type knkk-klimk,
zterm type knvv-zterm,
kdgrp type knkk-kdgrp,
sbgrp type knkk-sbgrp,
busab type knb1-busab,
not_due type bsid-dmbtr,
curr_due type bsid-dmbtr,
due_01_30 type bsid-dmbtr,
due_31_60 type bsid-dmbtr,
due_61_90 type bsid-dmbtr,
due_91_180 type bsid-dmbtr,
due_181_365 type bsid-dmbtr,
due_gt_365 type bsid-dmbtr,
spcol type bsid-dmbtr,
tot_due type bsid-dmbtr,
tot_ar type bsid-dmbtr,
waers type t001-waers,
end of i_output_summary.
Temporary internal table for KNVV records.
data : i_knvv_tmp like i_knvv occurs 0 with header line.
Temporary internal table for KNKK records.
data : i_knkk_tmp like i_knkk occurs 0 with header line.
Temporary internal table for BSID records.
data : i_bsid_tmp like i_bsid occurs 0 with header line.
FIELD STRING DECLARATION
Structure to validate selection screen
data : begin of v_radio,
rd1 type c,
rd2 type c,
rd3 type c,
end of v_radio.
Structure to validate selection screen
data : begin of v_radio1,
rd1 type c,
rd2 type c,
rd3 type c,
end of v_radio1.
Internal Tables for ALV Report
data: i_fieldcat_alv type slis_t_fieldcat_alv,
i_sort type slis_t_sortinfo_alv,
i_sort1 type slis_t_sortinfo_alv,
i_events type slis_t_event,
v_events type slis_alv_event,
v_fieldcat_alv type slis_fieldcat_alv,
v_sort like line of i_sort,
v_sort1 like line of i_sort1,
v_layout type slis_layout_alv,
v_print type slis_print_alv,
i_list_comments type slis_t_listheader,
v_list_comments like line of i_list_comments,
v_variant like disvariant, "Layout-External Use
v_variant_save type c, "To Store the Varient
v_variant1 like disvariant,
v_exit type c. "Event exit
Data declaration
data: v_paym_days type i,
v_date_diff type i,
v_zterm type t052-zterm,
v_bukrs1 like bsid-bukrs,
v_kunnr like bsid-kunnr,
v_kdgrp like knkk-kdgrp,
v_bukrs like bsid-bukrs,
v_name1 like kna1-name1,
v_knkli like knkk-knkli,
v_klimk(20) type c,
v_kvgr1 like knvv-kvgr1,
v_kkber like knkk-kkber,
v_sbgrp like knkk-sbgrp,
v_busab like knb1-busab.
data: v_cust_not_due type bsid-dmbtr,
v_cust_curr_due type bsid-dmbtr,
v_cust_due_01_30 type bsid-dmbtr,
v_cust_due_31_60 type bsid-dmbtr,
v_cust_due_61_90 type bsid-dmbtr,
v_cust_due_91_180 type bsid-dmbtr,
v_cust_due_181_365 type bsid-dmbtr,
v_cust_due_gt_365 type bsid-dmbtr,
v_cust_spcol type bsid-dmbtr,
v_cust_tot_due type bsid-dmbtr,
v_cust_tot_ar type bsid-dmbtr,
v_curr type t001-waers,
v_name type kna1-name1,
v_kvgr type knvv-kvgr1,
v_kdgrp1 type knkk-kdgrp,
v_klimk1 type knkk-klimk,
v_zterm1 type knvv-zterm,
v_sbgrp1 type knkk-sbgrp,
v_busab1 type knb1-busab.
data: v_repid like sy-repid,
v_flag type c.
CONSTANT DEFINITION
constants:
c_sel_x(1) type c value 'X',
c_0(1) type c value '0',
c_1(1) type c value '1',
c_knkli(7) type c value 'S_KNKLI',
c_kdgrp(7) type c value 'S_KDGRP',
c_debit_s(1) type c value 'S',
c_credit_h(1) type c value 'H',
c_deflt_zterm_y000(4) type c value 'Y000',
c_sc01(4) type c value 'SC01',
c_subtotal_text type slis_formname value
'ALV_SUBTOTALS',
c_formname_top_of_page type slis_formname value
'F_TOP_OF_PAGE',
c_formname_top_of_page_summ type slis_formname value
'F_TOP_OF_PAGE_SUMM'.
Selection-screen
selection-screen begin of block b1 with frame title text-s01.
parameters : p_bukrs type t001-bukrs obligatory.
select-options : s_kvgr1 for knvv-kvgr1,
s_sbgrp for knkk-sbgrp,
s_busab for knb1-busab,
s_budat for bsid-budat,
s_kunnr for knvv-kunnr.
selection-screen end of block b1.
selection-screen begin of block b2 with frame title text-s02.
selection-screen begin of line.
parameters : p_lk_on as checkbox.
selection-screen comment 5(24) text-s10 for field p_lk_on.
selection-screen end of line.
selection-screen comment 02(67) text-s12.
selection-screen skip 1.
selection-screen begin of line.
parameters :p_knkli radiobutton group g1 user-command radi
default 'X'.
selection-screen comment 5(24) text-s05 for field p_knkli.
select-options :s_knkli for knkk-knkli.
selection-screen end of line.
selection-screen begin of line.
parameters :p_kdgrp radiobutton group g1.
selection-screen comment 5(24) text-s06 for field p_kdgrp.
select-options :s_kdgrp for knkk-kdgrp.
selection-screen end of line.
selection-screen begin of line.
parameters :p_all_lk radiobutton group g1.
selection-screen comment 5(24) text-s07 for field p_all_lk.
selection-screen end of line.
selection-screen end of block b2.
selection-screen begin of block b3 with frame title text-s03.
selection-screen begin of line.
parameters :p_op_ab radiobutton group g2.
selection-screen comment 5(32) text-s08 for field p_op_ab.
selection-screen end of line.
selection-screen begin of line.
parameters :p_ab radiobutton group g2.
selection-screen comment 5(16) text-s09 for field p_ab.
selection-screen end of line.
selection-screen end of block b3.
selection-screen begin of block b4 with frame title text-s11.
parameters :p_vari like disvariant-variant.
selection-screen end of block b4.
INITIALIZATION
initialization.
To initialize the variant
perform initialize_variant.
To fetch the default variant for the ALV report
perform display_default_variant.
At selection-screen
at selection-screen.
To validate company code
perform check_company_code.
To validate business unit
perform check_business_unit.
move: p_knkli to v_radio1-rd1,
p_kdgrp to v_radio1-rd2,
p_all_lk to v_radio1-rd3.
if not s_kvgr1[] is initial and
not s_sbgrp[] is initial.
message e045 with text-073.
endif.
at selection-screen output.
move: p_knkli to v_radio-rd1,
p_kdgrp to v_radio-rd2,
p_all_lk to v_radio-rd3.
To maintain the select options visiable and invisible
perform selection_screen_output.
Check the radio buttons selected in selection screen
if v_radio1 eq v_radio.
To maintain the default settings
perform selection_screen_check.
endif.
AT SELECTION-SCREEN ON VALUE-REQUEST
At Selection Screen Value Request.
at selection-screen on value-request for p_vari.
To Display the Existing Variants(Layout).
perform variant_help_f4 using p_vari.
Event start-of-selection
start-of-selection.
Get the cusomer number
perform get_knb1_details.
Get the customer group details
perform get_knvv_details.
Get all linked account and credit account details from KNKK
perform get_linked_accounts_details.
Get open AR documents from BSID
perform get_open_ar_details.
Get the company code and curreny.
perform get_com_code_curr.
Get the customer name
perform get_customer_name.
Get the payment term days
perform get_payment_term_days.
Populate the final table having all the field details
perform populate_final_table.
To display the output in alv list.
perform alv_list_dispaly.
Form initialize_variant
To initialize the ALV Variant
form initialize_variant.
clear: v_variant.
v_repid = sy-repid.
v_variant-report = v_repid.
v_variant-username = sy-uname.
v_variant_save = 'A'.
endform. " initialize_variant
Form display_default_variant
To fetch the Default ALV variant
form display_default_variant.
if not p_vari is initial.
v_variant-variant = p_vari.
endif.
clear v_variant1.
v_variant1 = v_variant.
The function module is used to fetch the default variant
call function 'REUSE_ALV_VARIANT_DEFAULT_GET'
exporting
i_save = v_variant_save
changing
cs_variant = v_variant1
exceptions
wrong_input = 1
not_found = 2
program_error = 3
others = 4.
Based on the SUBRC value the variant is assigned
case sy-subrc.
when 0.
p_vari = v_variant1-variant.
when 2.
clear p_vari.
endcase.
endform. " display_default_variant
Form check_company_code
Validate Company Code
form check_company_code.
select single *
from t001
where bukrs eq p_bukrs.
if sy-subrc ne 0.
message e339.
endif.
endform. " check_company_code
Form check_business_unit
Validate Business Unit
form check_business_unit.
select single *
from tvv1
where kvgr1 in s_kvgr1.
if sy-subrc ne 0.
message e045 with text-e01.
endif.
endform. " check_business_unit
Form selection-screen-output
On selection of corresponding radio button the respective
Select-option will be high lighted
form selection_screen_output.
loop at screen.
if p_knkli = c_sel_x.
Credit Account invisible
if screen-name cs c_knkli.
screen-invisible = c_0.
screen-active = c_1.
modify screen.
endif .
Customer Group visible
if screen-name cs c_kdgrp.
screen-invisible = c_1.
screen-active = c_0.
modify screen.
endif.
elseif p_kdgrp = c_sel_x.
Credit Account invisible
if screen-name cs c_knkli.
screen-invisible = c_1.
screen-active = c_0.
modify screen.
endif .
Customer Group visible
if screen-name cs c_kdgrp.
screen-invisible = c_0.
screen-active = c_1.
modify screen.
endif.
elseif p_all_lk = c_sel_x.
Credit Account invisible
if screen-name cs c_knkli.
screen-invisible = c_1.
screen-active = c_0.
modify screen.
endif .
Customer Group invisible
if screen-name cs c_kdgrp.
screen-invisible = c_1.
screen-active = c_0.
modify screen.
endif.
endif.
endloop.
endform. " selection_screen_output
Form selection_screen_check
To check the selection screen radio buttons
form selection_screen_check.
if p_knkli = c_sel_x.
if p_op_ab is initial.
p_op_ab = c_sel_x.
p_ab = ''.
endif.
elseif p_kdgrp = c_sel_x.
if p_op_ab is initial.
p_op_ab = c_sel_x.
p_ab = ''.
endif.
elseif p_all_lk = c_sel_x.
if p_op_ab is initial.
p_op_ab = c_sel_x.
p_ab = ''.
endif.
endif.
endform. " selection_screen_check
Form variant_help_f4
To get the list of ALV help variants
form variant_help_f4 using p_variant.
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = v_variant
i_save = v_variant_save
importing
e_exit = v_exit
es_variant = v_variant
exceptions
not_found = 1
program_error = 2
others = 3.
if sy-subrc <> 0.
If no variants exist
message s045 with text-e02.
endif.
if v_exit is initial.
p_variant = v_variant-variant.
endif.
endform. " variant_help_f4
Form get_knb1_details
To get the Customer number
form get_knb1_details.
Fetch data from Customer Master (Company Code)
based on selection criteria(company code)
select kunnr bukrs busab
from knb1
into table i_knb1
where bukrs eq p_bukrs.
if sy-subrc ne 0.
message i561.
leave list-processing.
endif.
endform. " get_knb1_details
Form get_knvv_details
To get the Customer group details
form get_knvv_details.
if not i_knb1[] is initial.
sort i_knb1 by kunnr bukrs.
delete adjacent duplicates from i_knb1 comparing kunnr bukrs.
Fecth data from Customer Master Sales Data
based on internal table I_KNB1 and selection criteria
(customer group)
select kunnr vkorg kvgr1 zterm
from knvv
into table i_knvv
for all entries in i_knb1
where kunnr eq i_knb1-kunnr
and kunnr in s_kunnr
and vkorg eq i_knb1-bukrs.
if sy-subrc ne 0.
message i561.
leave list-processing.
endif.
endif.
endform. " get_knvv_details
Form get_linked_accounts_details
To get the linked account details
form get_linked_accounts_details.
if not i_knvv[] is initial.
get unique customer account KUNNR from i_bsid.
i_knvv_tmp[] = i_knvv[].
sort i_knvv_tmp by kunnr.
delete adjacent duplicates from i_knvv_tmp comparing kunnr.
clear v_kkber.
concatenate 'C' p_bukrs+1(3) into v_kkber.
sort i_knvv_tmp by kunnr.
Fetch the Customer's account number and Customer Group
details form Customer master credit management based on
internal table i_bsid_tmp and Credit control area
select kunnr kkber klimk knkli sbgrp grupp kdgrp
from knkk
into table i_knkk
for all entries in i_knvv_tmp
where kunnr eq i_knvv_tmp-kunnr
and kkber eq v_kkber.
if not i_knkk[] is initial.
i_knkk_tmp[] = i_knkk[].
if p_lk_on = 'X' or not s_knkli[] is initial
or not s_kdgrp[] is initial.
loop at i_knkk_tmp.
loop at i_knkk where knkli eq i_knkk_tmp-knkli
and kunnr ne i_knkk_tmp-knkli.
exit.
endloop.
if sy-subrc ne 0.
delete i_knkk where knkli eq i_knkk_tmp-knkli.
endif.
endloop.
endif.
if not s_knkli[] is initial.
delete i_knkk where not knkli in s_knkli.
endif.
if not s_kdgrp[] is initial.
delete i_knkk where not kdgrp in s_kdgrp.
endif.
if not s_sbgrp[] is initial.
delete i_knkk where not sbgrp in s_sbgrp.
endif.
else.
message i561.
leave list-processing.
endif.
else.
message i561.
leave list-processing.
endif.
endform. " get_linked_accounts_details
Form get_com_code_curr
Get the company code and currency
form get_com_code_curr .
select bukrs waers
from t001
into table i_t001
where bukrs eq p_bukrs.
endform. " get_com_code_curr
Form get_open_ar_details
Read BSID for all open AR
form get_open_ar_details.
if not i_knkk[] is initial.
refresh i_knkk_tmp.
i_knkk_tmp[] = i_knkk[].
sort i_knkk_tmp by knkli.
delete adjacent duplicates from i_knkk_tmp comparing kunnr.
Fetch the from Accounting: Secondary Index for Customers
based on internal table i_knvv and selection criteria(Posting Date
-in the Document)
select bukrs kunnr zuonr belnr budat bldat waers shkzg
dmbtr wrbtr zfbdt zterm zbd1t zbd2t zbd3t kkber
from bsid
into table i_bsid
for all entries in i_knkk_tmp
where bukrs eq p_bukrs
and kunnr eq i_knkk_tmp-kunnr
and umskz eq space
and bstat eq space
and budat in s_budat.
if i_bsid[] is initial.
message i561.
leave list-processing.
endif.
else.
message i561.
leave list-processing.
endif.
endform. " get_open_ar_details
Form get_customer_name
To get the customer name
form get_customer_name.
if not i_knvv_tmp[] is initial.
Get the customer name from KNA1 for all customer
select kunnr name1
from kna1
into table i_kna1
for all entries in i_knvv_tmp
where kunnr = i_knvv_tmp-kunnr.
endif.
endform. " get_customer_name
Form get_payment_term_days
To get the payment days
form get_payment_term_days.
if not i_bsid[] is initial.
clear i_bsid_tmp.
refresh i_bsid_tmp.
i_bsid_tmp[] = i_bsid[].
sort i_bsid_tmp by zterm.
delete i_bsid_tmp where shkzg ne c_debit_s.
if not i_bsid_tmp[] is initial.
Get the Payment days from T052
select zterm ztagg ztag1 ztag2 ztag3
from t052
into table i_t052
for all entries in i_bsid
where zterm = i_bsid-zterm.
endif.
endif.
endform. " get_payment_term_days
Form populate_final_table
To polupate final internal table
form populate_final_table.
sort i_bsid.
sort i_kna1 by kunnr.
sort i_knkk by kunnr.
sort i_knkk_knkli by kunnr.
sort i_knvv by vkorg kunnr.
sort i_t052 by zterm ztag1 ztag2 ztag3.
sort i_t001 by bukrs.
loop at i_bsid.
clear i_knb1.
read table i_knb1 with key kunnr = i_bsid-kunnr
binary search.
if not i_knb1-busab in s_busab.
continue.
else.
i_output-busab = i_knb1-busab.
endif.
clear i_knvv.
read table i_knvv with key kunnr = i_bsid-kunnr
vkorg = i_bsid-bukrs
binary search.
if not i_knvv-kvgr1 in s_kvgr1.
continue.
else.
i_output-kvgr1 = i_knvv-kvgr1.
i_output-zterm1 = i_knvv-zterm.
endif.
To read the data from kna1,knkk and knvv and moving data to final
internal table i_output.
perform move_kna1_knkk_knvv.
To read the data from bsid and t052 and moving data to final
internal table i_output.
perform move_bsid_t052.
To calculate the number of days.
perform move_no_of_days.
endloop.
endform. " populate_final_table
Form move_kna1_knkk_knvv
To read the data fron kna1,knkk and knvv
form move_kna1_knkk_knvv.
clear i_kna1.
read table i_kna1 with key kunnr = i_bsid-kunnr
binary search.
if sy-subrc eq 0.
i_output-name1 = i_kna1-name1.
endif.
clear i_knkk.
read table i_knkk with key kunnr = i_bsid-kunnr
binary search.
if sy-subrc eq 0.
i_output-knkli = i_knkk-knkli.
i_output-kdgrp = i_knkk-kdgrp.
i_output-klimk = i_knkk-klimk.
i_output-sbgrp = i_knkk-sbgrp.
endif.
endform. " move_kna1_knkk_knvv
Form move_bsid_t052
To read the data from BSID and T052
form move_bsid_t052.
move: i_bsid-kunnr to i_output-kunnr,
i_bsid-zuonr to i_output-zuonr ,
i_bsid-zterm to i_output-zterm,
i_bsid-bldat to i_output-bldat,
i_bsid-kunnr to i_output-kunnr1.
read table i_t001 with key bukrs = i_bsid-bukrs
binary search.
if sy-subrc eq 0.
move: i_t001-bukrs to i_output-bukrs,
i_t001-waers to i_output-waers.
endif.
if i_bsid-shkzg eq c_credit_h.
i_bsid-dmbtr = - i_bsid-dmbtr.
endif.
move i_bsid-dmbtr to i_output-tot_ar.
If base line date is initial, then use Document date.
if i_bsid-zfbdt is initial.
i_bsid-zfbdt = i_bsid-bldat.
endif.
if i_bsid-shkzg eq c_debit_s.
clear v_paym_days.
if not i_bsid-zbd3t is initial.
v_paym_days = i_bsid-zbd3t.
elseif not i_bsid-zbd2t is initial.
v_paym_days = i_bsid-zbd2t.
elseif not i_bsid-zbd1t is initial.
v_paym_days = i_bsid-zbd1t.
if no discount days is existing in BSID the
take discount days from table T052
else.
clear : i_t052,
v_zterm.
if i_bsid-zterm is initial.
v_zterm = c_deflt_zterm_y000.
else.
v_zterm = i_bsid-zterm.
endif.
read table i_t052 with key zterm = v_zterm
binary search.
if sy-subrc eq 0.
if not i_t052-ztag3 is initial.
v_paym_days = i_t052-ztag3.
elseif not i_t052-ztag2 is initial.
v_paym_days = i_t052-ztag2.
elseif not i_t052-ztag1 is initial.
v_paym_days = i_t052-ztag1.
endif.
endif.
endif.
i_output-due_date = i_bsid-zfbdt + v_paym_days.
else.
i_output-due_date = i_bsid-zfbdt.
endif.
clear v_date_diff.
v_date_diff = sy-datum - i_output-due_date.
i_output-v_no_days = v_date_diff.
endform. " move_bsid_t052
Form move_no_of_days
To read the no of days
form move_no_of_days.
if i_knkk-grupp = c_sc01.
i_output-spcol = i_bsid-dmbtr.
else.
if v_date_diff < 0.
i_output-not_due = i_bsid-dmbtr.
elseif v_date_diff = 0.
i_output-curr_due = i_bsid-dmbtr.
elseif v_date_diff <= 30.
-
How to make column heading in a table cross multiple pages
I have a large table that crosses over to a second page. I would like the column headings to be displayed on the second page. Is this possible and how to do it?
Heading rows are automatically cloned to table continuations.
if you aren't seeing heading rows on subsequent pages (and you can tell because you can see them but you can't edit them there), the usual reason is that what appear to be heading rows on the first page are just body rows with heading paragraph formats.
If all real heading rows have been deleted, it's usually easiest to just create a new table with heading rows and copy the content over. -
Hello experts,
How to get the header in two lines with the use of ALV...like
PO LINE # ORD QTY UNIT MATERIAL DESCRIPTION QTY TO RECV QTY RECV
VEND MAT ST LOCSHELF BIN ST LOCBULK BIN
I am not getting the correct format here but the scenario is like in the first line at the first second and forth columns i have 3 fields n in the second line at the third postion i have one more field...
Can any one guide me in this plz its bit urgent....
SRIhi,
Finally one more question....
I need some outlined logic for the below requirement... can u guide me plz
functional specs like goes here
SAP Assumes that all stock receipts will occur online using the MIGO_GR transaction. However most dealers receive from a paper receiver report. Some dealers use a blind receipt in which the goods receiver writes down the quantities counted. Others use an 'open' receivers report where the receiver can see the open quantities to be received. The report should have a run flag which supports both options. The receiver report should capture the basic information from the purchase order to include:
Vendor
Purchase Order Number
Line Item Details
Material ( Vendor Material Number )
Dealer Material Number
Quantity Ordered/To-be-received
Unit of Measure * Receiver Name ( Write In Blank )
Buyer
Plz gimme some guidance...
SRI -
How To avoid column heading for only total line in ALV list Display
Hi,
How To avoid column heading for only total line in ALV list Display.Hi,
to change colunm header field catlog is built
look at the example below
Changing column text headers
use this to change, hide, or alter the ALV columns
CLEAR: gt_fcat.
READ TABLE gt_fcat WITH KEY fieldname = 'TEXT1' " ***
*TEXT1 is your field name
ASSIGNING <gtfcat>.
IF sy-subrc = 0.
<gtfcat>-coltext = 'Date Type'.
<gtfcat>-no_out = ' '.
<gtfcat>-tooltip = 'Date Type Text from IT0019'.
<gtfcat>-seltext = 'IT0019'.
keep seltext to '' if u want to hide
ENDIF.
regards
austin -
Hi my name is vishal
For past 10 days i have been breaking my head on how to make column headers in table appear bold while datas in table appear regular from c# windows forms with sql server2008 using iTextSharp.
Given below is my code in c# on how i export datas from different tables in sql server to PDF report using iTextSharp:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.Diagnostics;
using System.IO;
namespace DRRS_CSharp
public partial class frmPDF : Form
public frmPDF()
InitializeComponent();
private void button1_Click(object sender, EventArgs e)
Document doc = new Document(PageSize.A4.Rotate());
var writer = PdfWriter.GetInstance(doc, new FileStream("AssignedDialyzer.pdf", FileMode.Create));
doc.SetMargins(50, 50, 50, 50);
doc.SetPageSize(new iTextSharp.text.Rectangle(iTextSharp.text.PageSize.LETTER.Width, iTextSharp.text.PageSize.LETTER.Height));
doc.Open();
PdfPTable table = new PdfPTable(6);
table.TotalWidth =530f;
table.LockedWidth = true;
PdfPCell cell = new PdfPCell(new Phrase("Institute/Hospital:AIIMS,NEW DELHI", FontFactory.GetFont("Arial", 14, iTextSharp.text.Font.BOLD, BaseColor.BLACK)));
cell.Colspan = 6;
cell.HorizontalAlignment = 0;
table.AddCell(cell);
Paragraph para=new Paragraph("DCS Clinical Record-Assigned Dialyzer",FontFactory.GetFont("Arial",16,iTextSharp.text.Font.BOLD,BaseColor.BLACK));
para.Alignment = Element.ALIGN_CENTER;
iTextSharp.text.Image png = iTextSharp.text.Image.GetInstance("logo5.png");
png.ScaleToFit(105f, 105f);
png.Alignment = Element.ALIGN_RIGHT;
SqlConnection conn = new SqlConnection("Data Source=NPD-4\\SQLEXPRESS;Initial Catalog=DRRS;Integrated Security=true");
SqlCommand cmd = new SqlCommand("Select d.dialyserID,r.errorCode,r.dialysis_date,pn.patient_first_name,pn.patient_last_name,d.manufacturer,d.dialyzer_size,r.start_date,r.end_date,d.packed_volume,r.bundle_vol,r.disinfectant,t.Technician_first_name,t.Technician_last_name from dialyser d,patient_name pn,reprocessor r,Techniciandetail t where pn.patient_id=d.patient_id and r.dialyzer_id=d.dialyserID and t.technician_id=r.technician_id and d.deleted_status=0 and d.closed_status=0 and pn.status=1 and r.errorCode<106 and r.reprocessor_id in (Select max(reprocessor_id) from reprocessor where dialyzer_id=d.dialyserID) order by pn.patient_first_name,pn.patient_last_name", conn);
conn.Open();
SqlDataReader dr;
dr = cmd.ExecuteReader();
table.AddCell("Reprocessing Date");
table.AddCell("Patient Name");
table.AddCell("Dialyzer(Manufacturer,Size)");
table.AddCell("No.of Reuse");
table.AddCell("Verification");
table.AddCell("DialyzerID");
while (dr.Read())
table.AddCell(dr[2].ToString());
table.AddCell(dr[3].ToString() +"_"+ dr[4].ToString());
table.AddCell(dr[5].ToString() + "-" + dr[6].ToString());
table.AddCell("@count".ToString());
table.AddCell(dr[12].ToString() + "-" + dr[13].ToString());
table.AddCell(dr[0].ToString());
dr.Close();
table.SpacingBefore = 15f;
doc.Add(para);
doc.Add(png);
doc.Add(table);
doc.Close();
System.Diagnostics.Process.Start("AssignedDialyzer.pdf");
if (MessageBox.Show("Do you want to save changes to AssignedDialyzer.pdf before closing?", "DRRS", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation) == DialogResult.Yes)
var writer2 = PdfWriter.GetInstance(doc, new FileStream("AssignedDialyzer.pdf", FileMode.Create));
else if (MessageBox.Show("Do you want to save changes to AssignedDialyzer.pdf before closing?", "DRRS", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation) == DialogResult.No)
this.Close();
The above code executes well with no problem at all!
As you can see the file to which i create and save and open my pdf report is
AssignedDialyzer.pdf.
The column headers of table in pdf report from c# windows forms using iTextSharp are
"Reprocessing Date","Patient Name","Dialyzer(Manufacturer,Size)","No.of Reuse","Verification" and
"DialyzerID".
However the problem i am facing is after execution and opening of document is my
column headers in table in pdf report from
c# and datas in it all appear in bold.
I have browsed through net regarding to solve this problem but with no success.
What i want is my pdf report from c# should be similar to following format which i was able to accomplish in vb6,adodb with MS access using iTextSharp.:
Given below is report which i have achieved from vb6,adodb with MS access using iTextSharp
I know that there has to be another way to solve my problem.I have browsed many articles in net regarding exporting sql datas to above format but with no success!
Is there is any another way to solve to my problem on exporting sql datas from c# windows forms using iTextSharp to above format given in the picture/image above?!
If so Then Can anyone tell me what modifications must i do in my c# code given above so that my pdf report from c# windows forms using iTextSharp will look similar to image/picture(pdf report) which i was able to accomplish from
vb6,adodb with ms access using iTextSharp?
I have approached Sound Forge.Net for help but with no success.
I hope anyone/someone truly understands what i am trying to ask!
I know i have to do lot of modifications in my c# code to achieve this level of perfection but i dont know how to do it.
Can anyone help me please! Any help/guidance in solving this problem would be greatly appreciated.
I hope i get a reply in terms of solving this problem.
vishalHi,
About iTextSharp component issue , I think this case is off-topic in here.
I suggest you consulting to compenent provider.
http://sourceforge.net/projects/itextsharp/
Regards,
Marvin
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
How to make column range based on a column in Oracle BI 11g
Hello everyone!
I want to know, how to make column range from a column in oracle bi 11g.
for example!
I have a column amounts and I want to build on this with other values of quantity, other column range 1-9,10-49,50-99,100-249, 249 o more.
regards!
when I try to make the range I have error.
Syntax error [nQSError: 26012] . (HY000)
SQL Issued: SELECT CASE WHEN "CUBO_DEEE_TAB"."CANTIDAD" BETWEEN 1 AND 9 THEN 1 a 9 ELSE "CUBO_DEEE_TAB"."CANTIDAD" END FROM "DM_DEEE"
Edited by: 964157 on 09-oct-2012 11:50You cannot add columns dynamically. But you can define a maximum number of numbers and then hide unused columns in your form useing SET_ITEM_PROPERTY(..,VISIBLE, PROPERTY_FALSE);
-
How to change column heading in line item report
Hello Experts,
How to change the column heading in the line item report CJI4 or CJI3 ?
for eg: The field WBS will show as Object in the heading. Here I would like to change to WBS.
Is there a way to do this without changing ABAP code
FATMANNot possible through standard I guess.
Enhancement you should be looking is COOMEP01 which includes the component EXIT_SAPLKAEP_009
i.e., Line Item Reports: Customer-specific Formatting of the Lists.You use this enhancement to modify column headings.
Regards
Sreenivas -
How to display the column header in two rows?
Hi Experts,
I am using ALV_LIST_DISPLAY i neeed to display the column header in two rows.. How can i do that?
Ex: purchase order i need to display "purchase" in one row and "order" in second row.
Thanks in advance,
Sarath.jREPORT zpwtest .
TYPE-POOLS slis .
DATA : layout TYPE slis_layout_alv .
CONSTANTS : c_len TYPE i VALUE 20 .
TYPES : BEGIN OF ty_t100 ,
sprsl TYPE t100-sprsl ,
arbgb TYPE t100-arbgb ,
msgnr TYPE t100-msgnr ,
text TYPE t100-text ,
fline TYPE t100-text ,
END OF ty_t100 .
TYPES : BEGIN OF ty_wrd ,
text TYPE char20 ,
END OF ty_wrd .
DATA : it_t100 TYPE TABLE OF ty_t100 ,
it_sentence TYPE TABLE OF ty_wrd ,
wa_t100 TYPE ty_t100 ,
wa_word TYPE ty_wrd ,
v_repid TYPE syst-repid ,
v_tabix TYPE syst-tabix .
DATA : it_fld TYPE slis_t_fieldcat_alv ,
it_evt TYPE slis_t_event ,
wa_fld TYPE slis_fieldcat_alv ,
wa_evt TYPE slis_alv_event .
INITIALIZATION .
v_repid = sy-repid .
START-OF-SELECTION .
* Get data
SELECT *
INTO TABLE it_t100
FROM t100
WHERE sprsl = 'EN'
AND arbgb = '00' .
LOOP AT it_t100 INTO wa_t100 .
v_tabix = sy-tabix .
CLEAR : it_sentence .
CALL FUNCTION 'RKD_WORD_WRAP'
EXPORTING
textline = wa_t100-text
outputlen = c_len
TABLES
out_lines = it_sentence.
IF NOT it_sentence IS INITIAL .
READ TABLE it_sentence INTO wa_word INDEX 1 .
wa_t100-fline = wa_word-text .
MODIFY it_t100 FROM wa_t100 INDEX v_tabix .
ENDIF.
ENDLOOP.
* Prepare fieldcatelog
CLEAR wa_fld .
wa_fld-fieldname = 'SPRSL' .
wa_fld-ref_tabname = 'T100' .
wa_fld-ref_fieldname = 'SPRSL' .
APPEND wa_fld TO it_fld .
CLEAR wa_fld .
wa_fld-fieldname = 'ARBGB' .
wa_fld-ref_tabname = 'T100' .
wa_fld-ref_fieldname = 'ARBGB' .
APPEND wa_fld TO it_fld .
CLEAR wa_fld .
wa_fld-fieldname = 'MSGNR' .
wa_fld-ref_tabname = 'T100' .
wa_fld-ref_fieldname = 'MSGNR' .
APPEND wa_fld TO it_fld .
CLEAR wa_fld .
wa_fld-fieldname = 'FLINE' .
wa_fld-inttype = 'CHAR' .
wa_fld-outputlen = 20 .
wa_fld-intlen = 20.
wa_fld-seltext_l = 'Text' .
wa_fld-ddictxt = 'L' .
APPEND wa_fld TO it_fld .
* Get event.. we will handle BOFORE and AFTER line output
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
IMPORTING
et_events = it_evt.
READ TABLE it_evt INTO wa_evt
WITH KEY name = slis_ev_after_line_output .
wa_evt-form = slis_ev_after_line_output .
MODIFY it_evt FROM wa_evt INDEX sy-tabix .
READ TABLE it_evt INTO wa_evt
WITH KEY name = slis_ev_top_of_page .
wa_evt-form = slis_ev_top_of_page .
MODIFY it_evt FROM wa_evt INDEX sy-tabix .
layout-no_colhead = 'X' .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = it_fld
is_layout = layout
it_events = it_evt
TABLES
t_outtab = it_t100.
* FORM top_of_page *
FORM top_of_page .
uline .
WRITE: / sy-vline ,
10 sy-vline ,
11 'line1' ,
31 sy-vline ,
37 sy-vline ,
58 sy-vline .
WRITE: / sy-vline ,
10 sy-vline ,
11 'line2' ,
31 sy-vline ,
37 sy-vline ,
58 sy-vline .
WRITE: / sy-vline ,
10 sy-vline ,
11 'line3' ,
31 sy-vline ,
37 sy-vline ,
58 sy-vline .
ENDFORM.
* FORM AFTER_LINE_OUTPUT *
FORM after_line_output USING rs_lineinfo TYPE slis_lineinfo .
CLEAR : it_sentence ,
wa_t100 .
READ TABLE it_t100 INTO wa_t100 INDEX rs_lineinfo-tabindex .
CHECK sy-subrc = 0 .
CALL FUNCTION 'RKD_WORD_WRAP'
EXPORTING
textline = wa_t100-text
outputlen = c_len
TABLES
out_lines = it_sentence.
DESCRIBE TABLE it_sentence LINES v_tabix .
CHECK v_tabix > 1 .
LOOP AT it_sentence INTO wa_word FROM 2 .
WRITE: / sy-vline ,
10 sy-vline ,
31 sy-vline ,
37 sy-vline ,
38 wa_word-text ,
58 sy-vline .
ENDLOOP.
ENDFORM . -
How to get column header text in IWDTable
Hi
Just want to know how to get column header name in IWDTable.
I know that you can get it with
IWDAbstractTableColumn[] groupedColumns = table.getGroupedColumns();
for (int i = 0; i < groupedColumns.length; i++) {
IWDAbstractTableColumn column = groupedColumns<i>;
column.getHeader().getText();
But what if text isnt set on header level but its rendered from cellEditor model binding (im not sure if its like that).Finally after your suggestion i did it with this code
String header = column.getHeader().getText();
if ((header == null || header.length() == 0) && column instanceof IWDTableColumn){
IWDTableCellEditor tableCellEditor = ((IWDTableColumn) column).getTableCellEditor();
if (tableCellEditor instanceof IWDTextView){
String bindingPath = ((IWDTextView)tableCellEditor).bindingOfText();
StringTokenizer tokenizer = new StringTokenizer(bindingPath,".");
String token = "";
IWDNodeInfo nodeInfo = context.getNodeInfo();
while (tokenizer.hasMoreTokens()){
token = tokenizer.nextToken();
if (tokenizer.hasMoreTokens()){
nodeInfo = nodeInfo.getChild(token);
IWDAttributeInfo attribute = nodeInfo.getAttribute(token);
ISimpleType simpleType = attribute.getSimpleType();
simpleType.getDescription();
header = simpleType.getDescription(); -
The Header in my home page is truncated. My home page Header is cut off. The header appears in Internet Explorer, but not in Mozilla Firefox 3.6.13. How do make the header display?
(Images or animations do not show) worked well.
Maybe you are looking for
-
When is it possible to have the same User Interface for all screensizes?
Hi all, i am final year student doing some research about User Interface Fragmentation on Mobile devices. As we already know, there are a huge variety of mobile screen sizes, and usually to provide users the best experience interfaces, we often have
-
I can install all other programs in this Suite including photoshop and AI ..in design...etc But installation failed for Acrobat X pro with the following message even I tried turning off my Anti-Virus or restarted my machine to use Safe mode .... the
-
Block purchasing of articles, but allow replenishment
Hi SAP Gurus I need to block somo articles for purchasing, but allow the replenishment of them. I try to handle this using the OMS4 transaction, but the purchasing option generates an Error Message when a is B in transpor order (UB) and purchasing fo
-
Hi friends I want to send an external email to the person who has created the PO. when the user parks a particular invoice for a reason using Tcode MIR7. The Functionality: After entering the reason for parking, PO no and other input feilds in Tcode
-
Should I link to my RSS feed or to the iTunes page from my website?
On A Story For Bedtime I want to put a link to a podcast of the stories, should I link to the apple iTunes music store magic launching URL like this or should I link directly to my XML like this . A fair percentage of my audience will not have a clue