ALV hierarchy title
Hi all,
is it possible to print a different title for each page when you use ALV hierarchy?
For example I need to print the PO number for each page as thet title.
Thanks,
Mel
Try this..
ip_confing type ref to CL_SALV_WD_CONFIG_TABLE.
"set alv table header
ip_config->if_salv_wd_table_settings~r_header->set_text( 'Test ALV Header functionality' ).
or
data: lr_table_settings type ref to if_salv_wd_table_settings.
data: lr_header type ref to CL_SALV_WD_HEADER.
lr_table_settings ?= l_value.
lr_header = lr_table_settings->get_header( ).
lr_header->set_text( 'FLIGHT LIST SEARCH' ).
Cheers,
Kris.
Similar Messages
-
Top_of_page is not working in ALV hierarchy?
Hi,
I have written following code for top_of_page using event but which is not working...This report is developed for interactive report.
Note: passed the it_events into ALV hierarchy functional module.
FORM build_event_tab .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 1
IMPORTING
et_events = it_events[].
READ TABLE it_events INTO wa_events WITH KEY form = 'TOP_OF_PAGE'.
IF sy-subrc = 0.
wa_events-form = 'TOP_OF_PAGE'.
APPEND wa_events TO it_events.
ENDIF.
ENDFORM. "Get_events
FORM top_of_page USING document TYPE REF TO cl_dd_document.
DATA: dl_text(255) TYPE c,
lv_cutime TYPE sy-uzeit,
lv_cudt(20) TYPE c.
lv_cudt = sy-datum.
*--Passing Date----*
WRITE lv_cudt TO dl_text.
CONCATENATE 'Date : ' lv_cudt+6(2) '-'
lv_cudt+4(2) '-'
lv_cudt+0(4) INTO dl_text.
CALL METHOD document->add_text
EXPORTING
text = dl_text.
CLEAR : dl_text.
CALL METHOD document->add_gap
EXPORTING
width = 50.
WRITE 'Company Name' TO dl_text.
CALL METHOD document->add_text
EXPORTING
text = dl_text
sap_emphasis = cl_dd_area=>heading
sap_style = cl_dd_area=>heading
sap_color = cl_dd_area=>list_total_inv.
CLEAR : dl_text.
CALL METHOD document->add_gap
EXPORTING
width = 150.
lv_cutime = sy-uzeit.
CONCATENATE 'Time : ' lv_cutime+0(2) ':'
lv_cutime+2(2) ':'
lv_cutime+4(2) INTO dl_text.
CALL METHOD document->add_text
EXPORTING
text = dl_text.
CALL METHOD document->add_gap
EXPORTING
width = 60.
WRITE 'Title' TO dl_text.
CALL METHOD document->add_text
EXPORTING
text = dl_text
sap_emphasis = cl_dd_area=>heading
sap_style = cl_dd_area=>heading
sap_color = cl_dd_area=>list_total_inv.
CLEAR : dl_text.
CALL METHOD document->add_gap
EXPORTING
width = 50.
ENDFORM. "html_top_of_page
Thanks
ShreePERFORM build_fieldcat.
PERFORM build_event_tab.
PERFORM alv_display.
*---Build fieldcat
FORM build_fieldcat.
wa_fieldcat-tabname = 'IT_VENDOR'.
wa_fieldcat-fieldname = 'LIFNR'.
wa_fieldcat-col_pos = '2'.
wa_fieldcat-seltext_l = 'SUPPLIER'.
wa_fieldcat-outputlen = 20.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_VENDOR'.
wa_fieldcat-fieldname = 'NAME1'.
wa_fieldcat-col_pos = '2'.
wa_fieldcat-seltext_l = 'VENDOR NAME'.
wa_fieldcat-outputlen = 40.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-fieldname = 'WERKS'.
wa_fieldcat-col_pos = '1'.
wa_fieldcat-seltext_l = 'Plant'.
wa_fieldcat-outputlen = 5.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-fieldname = 'AWKEY'.
wa_fieldcat-col_pos = '2'.
wa_fieldcat-seltext_l = ' Document'.
wa_fieldcat-hotspot = 'X'.
wa_fieldcat-outputlen = 16.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-fieldname = 'BELNR'.
wa_fieldcat-col_pos = '3'.
wa_fieldcat-seltext_l = 'A/c Document'.
wa_fieldcat-hotspot = 'X'.
wa_fieldcat-outputlen = 16.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-fieldname = 'BUDAT'.
wa_fieldcat-col_pos = '4'.
wa_fieldcat-seltext_l = 'PJ Date'.
wa_fieldcat-outputlen = 16.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-fieldname = 'XBLNR'.
wa_fieldcat-col_pos = '5'.
wa_fieldcat-seltext_l = 'Inv'.
wa_fieldcat-outputlen = 16.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-fieldname = 'BLDAT'.
wa_fieldcat-col_pos = '6'.
wa_fieldcat-seltext_l = 'PJ Date'.
wa_fieldcat-outputlen = 16.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-fieldname = 'DMBTR'.
wa_fieldcat-col_pos = '7'.
wa_fieldcat-seltext_l = 'Bill.Amount'.
wa_fieldcat-outputlen = 19.
wa_fieldcat-do_sum = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'IT_FINAL'.
wa_fieldcat-fieldname = 'HKONT'.
wa_fieldcat-col_pos = '8'.
wa_fieldcat-seltext_l = 'Cost Ctr'.
wa_fieldcat-outputlen = 16.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. "Build_fieldcat
*----ALV Display-----*
FORM alv_display.
key-header01 = 'LIFNR'.
key-item01 = 'LIFNR'.
DELETE ADJACENT DUPLICATES FROM it_vendor.
DELETE ADJACENT DUPLICATES FROM it_final.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_user_command = 'USER_COMMAND'
i_callback_pf_status_set = 'PFSTATUS'
it_fieldcat = it_fieldcat[]
i_tabname_header = 'IT_VENDOR'
i_tabname_item = 'IT_FINAL'
it_events = it_events[]
is_keyinfo = key
TABLES
t_outtab_header = it_vendor[]
t_outtab_item = it_final[].
ENDFORM. "alv_display
*----interactive method--
FORM user_command USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
READ TABLE it_final INTO wa_final INDEX rs_selfield-tabindex.
IF sy-subrc = 0.
IF rs_selfield-fieldname = 'BELNR'.
SET PARAMETER ID 'BLN' FIELD wa_final-belnr.
SET PARAMETER ID 'BUK' FIELD pa_bukrs.
SET PARAMETER ID 'GJA' FIELD pa_gjahr.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSEIF rs_selfield-fieldname = 'AWKEY'.
SET PARAMETER ID 'RBN' FIELD wa_final-awkey.
SET PARAMETER ID 'GJR' FIELD pa_gjahr.
CALL TRANSACTION 'MIR4' AND SKIP FIRST SCREEN.
ELSEIF rs_selfield-fieldname = 'LFBNR'.
SET PARAMETER ID 'BLN' FIELD it_bsak-lfbnr.
SET PARAMETER ID 'BUK' FIELD pa_bukrs.
SET PARAMETER ID 'GJA' FIELD pa_gjahr.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSEIF rs_selfield-fieldname = 'EBELN'.
SELECT SINGLE
ebeln
INTO wk_ebeln
FROM ekko
WHERE ebeln = it_bsak-ebeln
AND bstyp = 'F'.
IF sy-subrc EQ 0.
SET PARAMETER ID 'BES' FIELD it_bsak-ebeln.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ELSE.
SET PARAMETER ID 'VRT' FIELD it_bsak-ebeln.
CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDIF.
ENDCASE.
ENDFORM. "user_command
FORM pfstatus USING ut_extab TYPE slis_t_extab.
SET PF-STATUS 'STANDARD_FULLSCREEN' OF PROGRAM 'SAPLKKBL'.
ENDFORM. "pfstatus
*---Authorization check---
FORM bukrs_check.
SELECT SINGLE
butxt "Name of the Company Code / Company
ort01 "City
INTO (wk_company, wk_city) FROM t001
WHERE bukrs = pa_bukrs.
IF sy-subrc <> 0.
MESSAGE 'create your own message' TYPE 'I'.
ENDIF.
ENDFORM. " BUKRS_CHECK
FORM build_event_tab.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = it_events[].
READ TABLE it_events INTO wa_events
WITH KEY name = 'SLIS_EV_TOP_OF_PAGE'.
IF sy-subrc = 0.
wa_events-form = 'TOP_OF_PAGE'.
MODIFY it_events FROM wa_events INDEX sy-tabix.
ENDIF.
READ TABLE it_events INTO wa_events WITH KEY name =
'SLIS_EV_END_OF_PAGE'.
IF sy-subrc = 0.
wa_events-form = 'END_OF_PAGE'.
MODIFY it_events FROM wa_events INDEX sy-tabix.
ENDIF.
ENDFORM. "Get_events
FORM end_of_page.
DATA: it_header TYPE slis_t_listheader,
wa_header TYPE slis_listheader.
wa_header-typ = 'S'.
wa_header-key = 'MATERIAL'.
* wa_line-info = p1.
APPEND wa_header TO it_header.
CLEAR wa_header.
* READ TABLE it_maktx WITH KEY matnr = p1.
wa_header-typ = 'S'.
wa_header-key = 'DESCRIPTION'.
* wa_line-info = it_maktx-maktx.
APPEND wa_header TO it_header.
CLEAR wa_header.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
* i_logo = 'ENJOYSAP_LOGO'
it_list_commentary = it_header.
ENDFORM. "END_OF_PAGE
FORM top_of_page USING document TYPE REF TO cl_dd_document.
DATA: dl_text(255) TYPE c,
lv_cutime TYPE sy-uzeit,
lv_cudt(20) TYPE c.
lv_cudt = sy-datum.
*--Passing Date----*
WRITE lv_cudt TO dl_text.
CONCATENATE 'Date : ' lv_cudt+6(2) '-'
lv_cudt+4(2) '-'
lv_cudt+0(4) INTO dl_text.
CALL METHOD document->add_text
EXPORTING
text = dl_text.
CLEAR : dl_text.
CALL METHOD document->add_gap
EXPORTING
width = 50.
WRITE 'INCAP CON MFG SER (P) LTD' TO dl_text.
CALL METHOD document->add_text
EXPORTING
text = dl_text
sap_emphasis = cl_dd_area=>heading
sap_style = cl_dd_area=>heading
sap_color = cl_dd_area=>list_total_inv.
CLEAR : dl_text.
CALL METHOD document->add_gap
EXPORTING
width = 150.
lv_cutime = sy-uzeit.
CONCATENATE 'Time : ' lv_cutime+0(2) ':'
lv_cutime+2(2) ':'
lv_cutime+4(2) INTO dl_text.
CALL METHOD document->add_text
EXPORTING
text = dl_text.
CALL METHOD document->add_gap
EXPORTING
width = 60.
WRITE 'Purchase Journal' TO dl_text.
CALL METHOD document->add_text
EXPORTING
text = dl_text
sap_emphasis = cl_dd_area=>heading
sap_style = cl_dd_area=>heading
sap_color = cl_dd_area=>list_total_inv.
CLEAR : dl_text.
CALL METHOD document->add_gap
EXPORTING
width = 50.
ENDFORM. "html_top_of_page -
Displaying ALV hierarchy at a certain level
Hi all,
I have an ALV report that shows a hierarchy. This ALV hierarchy is created using std class CL_GUI_ALV_TREE.
The number of hierarchy levels is dynamic and only determined during run time. However I would like to be able to either display all nodes expanded or only the last node unexpanded. In other words I would like to control which hierarhcy level is expanded when the report is first displayed.
Can anyone suggest a way to do this please?
ThanksIf you want to display the sum for a given hierarchy level, you should use CUBESET function.
e.g.
=IF(B2="all",CUBESET("mycube","[Location].[Location Hierarchy].[Department].&[DEPT 07]","all"),Cubemember("MyCube","[Location].[Location Hierarchy].[Department].&[DEPT 07].&["&B1&"]"))
Hope it helps. -
Setting the ALV Hierarchy tree with grid line between the columns and rows
Hi Experts,
I would like to ask if there is any suggestion on setting the ALV hierarchy tree to be separated by grid line between the columns and rows just like how it is display the same way in normal ALV grid.
Thanks in advance.Hi Lin,
The requirement which you have stated is not possible.
Lin,
Also i have a query regarding BADI ZME_PROCESS_REQ_CUST, which you had raised on SDN. You have marked the question as solved/answered.
Changing the data of a customize field in purchase requisition
Could you please let me know, the steps you did to update the screen fields through the BADI.
I would really appreciate your reply, because i am facing exactly the same problem which you have mentioned.
Thanks,
Best regards,
Prashant -
Multiple levels in ALV Hierarchy
Hi All
How to display Multiple levels in ALV Hierarchy.
I have header and Item Tables but Under Header Expansions I have to display one more Expansion.
Means Multiple levels.Hi,
I think you can check standard program BCALV_TEST_HIERSEQ_LIST
Regards,
Himanshu -
Dear Experts,
Can anyone tell me how to create a ALV Hierarchial report with one HEADER table and multiple ITEM(child) tables.
thanks & regards,
gautamHi you can tray review this code for a example i found in the web and help me:
REPORT Z_TEST_HIESEQ_REPORT.
TABLES: ekko,ekpo.
* selection option
SELECT-OPTIONS s_ebeln FOR ekko-ebeln.
TYPE-POOLS:slis.
* define header table and item table
DATA: BEGIN OF headertab OCCURS 0,
ebeln LIKE ekko-ebeln,
bstyp LIKE ekko-bstyp,
bsart LIKE ekko-bsart,
statu LIKE ekko-statu,
END OF headertab.
DATA: BEGIN OF itemtab OCCURS 0,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
werks LIKE ekpo-werks,
menge LIKE ekpo-menge,
netpr LIKE ekpo-netpr,
peinh LIKE ekpo-peinh,
netwr LIKE ekpo-netwr,
END OF itemtab.
DATA: i_fieldcat TYPE slis_t_fieldcat_alv.
DATA: v_repid LIKE sy-repid.u201Ccurrent program name
DATA: g_tabname_header TYPE slis_tabname,
g_tabname_item TYPE slis_tabname.
* data connect header table and item table
* we can set 5 field as foreign key at same time
DATA: gs_keyinfo TYPE slis_keyinfo_alv.
INITIALIZATION.
v_repid = sy-repid.
START-OF-SELECTION.
PERFORM get_data.
END-OF-SELECTION.
* get field catalog of header table
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = v_repid
i_internal_tabname = 'HEADERTAB'
i_inclname = v_repid
i_bypassing_buffer = 'X'
i_buffer_active = "
CHANGING
ct_fieldcat = i_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <;>; 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1
sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* get field catalog of item table
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'ITEMTAB'
i_inclname = v_repid
i_bypassing_buffer = 'X'
i_buffer_active = "
CHANGING
ct_fieldcat = i_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <;>; 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1
sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* set the header and item table are connected by pur doc number
gs_keyinfo-header01 = 'EBELN'.
gs_keyinfo-item01 = 'EBELN'.
g_tabname_header = 'HEADERTAB'.
g_tabname_item = 'ITEMTAB'.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = i_fieldcat
i_save = 'A'
i_tabname_header = g_tabname_header
i_tabname_item = g_tabname_item
is_keyinfo = gs_keyinfo
i_bypassing_buffer = 'X'
i_buffer_active = ' '
TABLES
t_outtab_header = headertab
t_outtab_item = itemtab
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <;>; 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
FORM get_data.
SELECT ebeln bstyp bsart statu
INTO TABLE headertab
FROM ekko
UP TO 100 ROWS
WHERE ebeln IN s_ebeln.
IF NOT headertab[] IS INITIAL.
SELECT ebeln ebelp matnr werks menge netpr peinh netwr
INTO TABLE itemtab
FROM ekpo
FOR ALL ENTRIES IN headertab
WHERE ebeln = headertab-ebeln.
ENDIF.
ENDFORM. "get_data
Edited by: Juan Manuel Garcia on Aug 17, 2010 11:29 PM
Edited by: Juan Manuel Garcia on Aug 17, 2010 11:36 PM -
Alv hierarchy subtotal in 2 fields
Hi gurus,
First, thanks to all those who helped me with my first problem. I have a new question, still regarding subtotal.
The client now wants to have a subtotal in alv hierarchy per vendor and purchase doc. My output displays a subtotal per purchase doc only. Client wants to have an output that would look like this:
VENDOR
PURCH DOC PO AMT.
1
410000001 1000
410000001 2000
410000001 3000 (subtotal per purch doc)
410000002 100
410000002 100 (subtotal per purch doc)
1 3100 (subtotal per vendor)
2
420000001 500
420000001 300
420000001 800 (subtotal per purch doc)
2 800 (subtotal per vendor)
TOTAL 3900
Here's an excerpt of my code:
FORM build_fcat using p_type changing p_fcat.
data lt_fcat type slis_t_fieldcat_alv.
field-symbols <fs_fcat> like line of lt_fcat.
lt_fcat = p_fcat.
loop at lt_fcat assigning <fs_fcat>.
<fs_fcat>-ddictxt = 'L'.
case <fs_fcat>-fieldname.
when 'LIFNR'.
<fs_fcat>-seltext_l = 'VENDOR'.
<fs_fcat>-tabname = 'I_HEADER'.
<fs_fcat>-key = 'X'.
<fs_fcat>-outputlen = 15.
modify lt_fcat from <fs_fcat>.
when 'EBELN'.
<fs_fcat>-seltext_l = 'PURCH DOC'.
<fs_fcat>-tabname = 'I_ITEM'.
<fs_fcat>-key = 'X'.
<fs_fcat>-outputlen = 12.
modify lt_fcat from <fs_fcat>.
when 'RLWRT'.
<fs_fcat>-seltext_l = 'PO AMT.'.
<fs_fcat>-tabname = 'I_ITEM'.
<fs_fcat>-datatype = 'CURR'.
<fs_fcat>-ref_fieldname = 'WAERS'.
<fs_fcat>-ref_tabname = 'I_ITEM'.
<fs_fcat>-do_sum = 'X'.
<fs_fcat>-outputlen = 15.
modify lt_fcat from <fs_fcat>.
endcase.
endloop.
p_fcat = lt_fcat.
ENDFORM.
FORM build_fsort changing p_fsort.
data lt_sort type slis_t_sortinfo_alv.
data ls_sort like line of lt_sort.
ls_sort-spos = 1.
ls_sort-fieldname = 'EBELN'.
ls_sort-tabname = 'I_HEADER'.
ls_sort-up = 'X'.
ls_sort-subtot = 'X'.
append ls_sort to lt_sort.
clear ls_sort.
ls_sort-spos = 2.
ls_sort-fieldname = 'LIFNR'.
ls_sort-tabname = 'I_HEADER'.
ls_sort-up = 'X'.
ls_sort-subtot = 'X'.
append ls_sort to lt_sort.
clear ls_sort.
p_fsort = lt_fsort.
ENDFORM.
FORM modify_key changing p_keyinfo type slis_keyinfo_alv.
clear p_keyinfo.
p_keyinfo-header01 = 'LIFNR'.
p_keyinfo-item01 = 'LIFNR'.
p_keyinfo-header02 = 'EBELN'.
p_keyinfo-item02 = 'EBELN'.
ENDFORM.
Is there a way to meet the client's expected output?
Thanks in advance for all the help and advises.
Points will be rewarded.Sorry I didn't include that earlier. I'm using Citrix so copy-paste of codes outside Citrix is not allowed. I'll just type a shorter version of my it here.
data: begin of i_item occurs 0,
lifnr like ekko-lifnr,
name1 like-lfa1-name1,
ebeln like ekpo_ebeln,
po_dat like ekko-bedat,
rlwrt like ekko-rlwrt,
waers like ekko-waers,
dmbtr like ekko-dmbtr,
end of i_item.
data wa_item like line of i_item,
data: begin of i_header occurs 0,
lifnr like lfa1-lifnr,
name1 like lfa1-name1,
ebeln like ekpo-ebeln,
end of i_header.
data wa_header like line of i_header. -
How can I do a Smartform from an ALV hierarchy? Is this possible?
Please give me any help...
Regards.
HugoHi, thank for your reply.
Well... I've a hierarchy alv report with a status bar... It's working properly.
Now, I want to print a smarform from this report...
this show the alv ************
call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
exporting
i_callback_program = vl_repid
is_layout = st_layout
it_fieldcat = t_fieldcat[]
i_tabname_header = 'T_AUX'
i_tabname_item = 'T_OUTPUT'
is_keyinfo = st_key
tables
t_outtab_header = t_aux[]
t_outtab_item = t_output[]
exceptions
program_error = 1
others = 2.
My doubt is in the smartform... I can pass 2 tables as parameters???
-->
call function l_fm_name
exporting
p_gjahr = p_gjahr
p_form = p_form
p_date_d = p_date_d
p_date_h = p_date_h
p_nom = p_nom
tables
gt_salida = gt_salida ???? "Table 1
exceptions
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
others = 5.
I'm sorry for my poor english... -
my output like this,
-> india 123 123
-->ap 12 12
--->hyd 24 24
@ ampet 1000 1000
@ kp 50 50
@ begumpet 1234 1234
output tree like this.
plz send me alv hierarchy program blongs to this output.
giv me reply asap
thanks n regards
satyaHi Murty please find the following code.If it is useful reward me points.
TYPE-POOLS: slis.
TABLES : ekko, ekpo.
DATA : BEGIN OF i_ekko OCCURS 0,
ebeln LIKE ekko-ebeln,
ernam LIKE ekko-ernam,
bsart LIKE ekko-bsart,
var1,
END OF i_ekko.
DATA : BEGIN OF i_ekpo OCCURS 0,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
aedat LIKE ekpo-aedat,
var2,
END OF i_ekpo.
DATA : BEGIN OF i_final OCCURS 0,
ebeln LIKE ekko-ebeln,
ernam LIKE ekko-ernam,
bsart LIKE ekko-bsart,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
aedat LIKE ekpo-aedat,
END OF i_final.
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN.
DATA : fcat TYPE slis_t_fieldcat_alv, "FIELDCATALOG(TABLE)
fcat1 TYPE slis_t_fieldcat_alv, "FIELDCATALOG(TABLE)
cat TYPE slis_fieldcat_alv. "FIELDCATALOG(WORK AREA)
DATA : LAYOUT1 TYPE SLIS_LAYOUT_ALV, "LAYOUT 1
LAYOUT2 TYPE SLIS_LAYOUT_ALV, "LAYOUT 2
KEY TYPE SLIS_KEYINFO_ALV , "KEY INFORMATION
GT_EVENT1 TYPE SLIS_T_EVENT.
START-OF-SELECTION.
PERFORM GETTING_DATA.
PERFORM append_field.
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-CPROG
IS_LAYOUT = LAYOUT1
IT_FIELDCAT = FCAT
IT_EVENTS = GT_EVENT1
i_tabname_header = 'I_EKKO'
i_tabname_item = 'I_EKPO'
is_keyinfo = KEY
tables
t_outtab_header = I_EKKO
t_outtab_item = I_EKPO.
*& Form GETTING_DATA
text
--> p1 text
<-- p2 text
FORM GETTING_DATA .
SELECT EBELN BSART ERNAM UP TO 100 ROWS
INTO CORRESPONDING FIELDS OF TABLE I_EKKO
FROM EKKO
WHERE EBELN IN S_EBELN.
SELECT EBELN EBELP MATNR AEDAT
INTO CORRESPONDING FIELDS OF TABLE I_EKPO
FROM EKPO
FOR ALL ENTRIES IN I_EKKO
WHERE EBELN = I_EKKO-EBELN .
SORT I_EKKO BY EBELN.
LOOP AT I_EKKO.
READ TABLE I_EKPO WITH KEY EBELN = I_EKKO-EBELN.
IF SY-SUBRC EQ 0.
MOVE: I_EKKO-EBELN TO I_FINAL-EBELN,
I_EKKO-BSART TO I_FINAL-BSART,
I_EKKO-ERNAM TO I_FINAL-ERNAM,
I_EKPO-EBELP TO I_FINAL-EBELP,
I_EKPO-MATNR TO I_FINAL-MATNR,
I_EKPO-AEDAT TO I_FINAL-AEDAT.
APPEND I_FINAL.
ENDIF.
ENDLOOP.
ENDFORM. " GETTING_DATA
*& Form APPEND_FIELD
text
--> p1 text
<-- p2 text
FORM append_field .
CLEAR cat.
cat-col_pos = 1.
cat-fieldname = 'EBELN'.
cat-tabname = 'I_EKKO'.
cat-ref_fieldname = 'EBELN'.
cat-ref_tabname = 'EKKO'.
cat-key = 'X'. "define field as key
APPEND cat TO fcat.
CLEAR cat.
cat-col_pos = 2.
cat-fieldname = 'BSART'.
cat-tabname = 'I_EKKO'.
cat-ref_fieldname = 'BSART'.
cat-ref_tabname = 'EKKO'.
APPEND cat TO fcat.
CLEAR cat.
cat-col_pos = 3.
cat-fieldname = 'ERNAM'.
cat-tabname = 'I_EKKO'.
cat-ref_fieldname = 'ERNAM'.
cat-ref_tabname = 'EKKO'.
APPEND cat TO fcat.
CLEAR cat.
cat-col_pos = 4.
cat-fieldname = 'EBELP'.
cat-tabname = 'I_EKPO'.
cat-ref_fieldname = 'EBELP'.
cat-ref_tabname = 'EKPO'.
cat-key = 'X'. "define field as key
APPEND cat TO fcat.
CLEAR cat.
cat-col_pos = 5.
cat-fieldname = 'MATNR'.
cat-tabname = 'I_EKPO'.
cat-ref_fieldname = 'MATNR'.
cat-ref_tabname = 'EKPO'.
APPEND cat TO fcat.
CLEAR cat.
cat-col_pos = 6.
cat-fieldname = 'AEDAT'.
cat-tabname = 'I_EKPO'.
cat-ref_fieldname = 'AEDAT'.
cat-ref_tabname = 'EKPO'.
APPEND cat TO fcat.
CLEAR cat.
layout1-expand_fieldname = 'VAR1'.
layout1-lights_fieldname = '3'.
layout1-lights_tabname = 'I_EKPO'.
key-header01 = 'EBELN'.
key-item01 = 'EBELN'.
ENDFORM. " APPEND_FIELD -
Hi Experts,
I have Hierarchy report, but i took 2 tables header and item tables, but in my output item table is dispalying but heading is not displaying, is there any setting problem
and header table heading is gone right side, not displaying properly.
Please help in this regards.
Thanks
RamsHi
Here i am pasting the code.
EPORT /scl/rdfiarr_cust_ageanalys NO STANDARD PAGE HEADING
LINE-SIZE 255
LINE-COUNT 100
MESSAGE-ID /scl/tin_rtr.
*& Include /SCL/RDFIARR_CUST_AGEIANA_TOP
*TYPE-POOLS declaration
TYPE-POOLS: slis.
*TYPES DECLARATION
TYPES: BEGIN OF ty_bsid,
kunnr TYPE kunnr, "Customer Number
bukrs TYPE bukrs, "Company code
zterm TYPE dzterm, "Payment terms
gjahr TYPE gjahr, "Fiscal Year
dmbtr TYPE dmbtr, "Amount in Local Currency
shkzg TYPE shkzg, "Debit/Credit Indicator
budat TYPE budat, "Posting Date in the Document
augdt TYPE augdt, "Clearing Date
bldat TYPE bldat, "Document Date in Document
augbl TYPE augbl, "Document Number of the Clearing Document
belnr TYPE belnr_d, "Accounting Document Number
rebzg TYPE rebzg, "No.of the Invoice the Transaction Belongs to
rebzj TYPE rebzj, "Fiscal Year of the Relevant Invoice
rebzz TYPE rebzz, "Line Item in the Relevant Invoice
waers TYPE waers, "Currency Key
gsber TYPE gsber, "Business area
vkorg TYPE vkorg, "Sales Organization
END OF ty_bsid.
TYPES: BEGIN OF ty_bsad,
kunnr TYPE kunnr, "Customer Number
bukrs TYPE bukrs, "Company code
zterm TYPE dzterm, "Payment terms
gjahr TYPE gjahr, "Fiscal Year
dmbtr TYPE dmbtr, "Amount in Local Currency
shkzg TYPE shkzg, "Debit/Credit Indicator
budat TYPE budat, "Posting Date in the Document
augdt TYPE augdt, "Clearing Date
bldat TYPE bldat, "Document Date in Document
augbl TYPE augbl, "Document Number of the Clearing Doc
belnr TYPE belnr_d, "Accounting Document Number
rebzg TYPE rebzg, "No. of the Invoice the Trans Belongs to
waers TYPE waers, "Currency Key
gsber TYPE gsber, "Business area
vkorg TYPE vkorg, "Sales Organisation
END OF ty_bsad.
TYPES: BEGIN OF ty_cust,
kunnr TYPE kunnr, "Customer Number
vkorg TYPE vkorg, "Sales Organisaton
name1 TYPE name1_gp, "Customer Name
zterm TYPE dzterm, "Payment terms
vwerk TYPE dwerk_ext, "Delivery Plant
sal_r TYPE pernr_d, "Personnel Number (Sales)
crd_r TYPE pernr_d, "Personnel Number (Credit)
ctlpc TYPE ctlpc_cm, "Credit management: Risk category
katr1 TYPE katr1, "Customer Activity Cluster
klimk TYPE klimk, "Credit limit
gsber TYPE gsber, "Business Area
END OF ty_cust.
TYPES: BEGIN OF ty_data,
bukrs TYPE bukrs, "Company code
gjahr TYPE gjahr, "Fisacal year
gsber TYPE gsber, "Business area
vwerk TYPE dwerk_ext, "Delivery plant
zterm TYPE dzterm, "Payment terms
bldat TYPE bldat, "Document Date in Document
kunnr TYPE kunnr, "Customer Number
dmbtr TYPE dmbtr, "Amount in Local Currency
name1 TYPE name1_gp, "Customer name
sal_r TYPE pernr_d, "Salres representative
crd_r TYPE pernr_d, "Credit representative
ctlpc TYPE ctlpc_cm, "Credit management: Risk category
katr1 TYPE katr1, "Customer Activity Cluster
waers TYPE waers, "Currency Key
vkorg TYPE vkorg, "Sales organisation
END OF ty_data.
TYPES: BEGIN OF ty_knvv,
kunnr TYPE kunnr, "Customer number
vwerk TYPE vwerk, "Palnt
vkorg TYPE vkorg, "Sales organisation
zterm TYPE dzterm, "Payment terms
END OF ty_knvv.
TYPES: BEGIN OF ty_knvp,
parvw TYPE parvw, "Partner Function
pernr TYPE pernr_d, "Personnel Number
END OF ty_knvp.
TYPES: BEGIN OF ty_knb1,
kunnr TYPE kunnr, "Customer number
bukrs TYPE bukrs, "Company Code
zterm TYPE dzterm, "Payment terms
END OF ty_knb1.
TYPES: BEGIN OF ty_kna1,
kunnr TYPE kunnr, "Customer number
name1 TYPE name1_gp, "Customer name
katr1 TYPE katr1, "Customer Activity Cluster
END OF ty_kna1.
TYPES : BEGIN OF ty_klimk,
kunnr TYPE kunnr, "Customer number
kkber TYPE kkber, "Credit control area
ctlpc TYPE ctlpc_cm, "Credit management: Risk category
klimk TYPE klimk, "Customer's credit
END OF ty_klimk.
TYPES: BEGIN OF ty_zterm,
zterm TYPE dzterm, "Terms of Payment Key
zfael TYPE dzfael, "Calendar Day for the Baseline Date
"for Payment
zmona TYPE dzmona, "Additional Months
zstg1 TYPE dzstg1_052,
ztag1 TYPE dztage, "Days from Baseline Date for Payment
ztag2 TYPE dztage, "Days from Baseline Date for Payment
ztag3 TYPE dztage, "Days from Baseline Date for Payment
ztag4 TYPE dztage, "Days from Baseline Date for Payment
END OF ty_zterm.
TYPES: BEGIN OF ty_analyhead,
kunnr TYPE kunnr, "customer number
bukrs TYPE bukrs, "Company code
zterm TYPE dzterm, "Payment terms
total TYPE dmbtr, "Total
expand(1) TYPE c, "Expand
END OF ty_analyhead.
TYPES: BEGIN OF ty_analysis,
bukrs TYPE bukrs, "Company code
vwerk TYPE vwerk, "Delivery Plant
sal_r TYPE pernr_d, "Sales Representative
crd_r TYPE pernr_d, "Credit Representative
gsber TYPE gsber, "business area
zterm TYPE dzterm, "Payment terms
kunnr TYPE kunnr, "customer number
name1 TYPE name1_gp, "Customer name
total TYPE dmbtr, "Total
dmbtr1 TYPE dmbtr, "Bucket 1
dmbtr2 TYPE dmbtr, "Bucket 2
dmbtr3 TYPE dmbtr, "Bucket 3
dmbtr4 TYPE dmbtr, "Bucket 4
dmbtr5 TYPE dmbtr, "Bucket
crlimit TYPE dmbtr, "Credit limit
waers TYPE waers, "Currency
END OF ty_analysis.
*variable declaration
DATA: v_bukrs TYPE bukrs, "Company Code
v_kunnr TYPE kunnr, "Customer Number
v_pernr TYPE pernr_d, "Personnel Number
v_zterm TYPE dzterm, "Payment Terms
v_ctlpc TYPE ctlpc_cm, "Credit management: Risk category
v_budat TYPE budat, "Posting Date in the Document
v_gjahr TYPE gjahr, "Fiscal Year
v_bldat TYPE bldat. "Document Date in Document
DATA: v_m1(2) TYPE c VALUE '-1',
v_m2(2) TYPE c VALUE '-2',
v_m3(2) TYPE c VALUE '-3',
v_m4(2) TYPE c VALUE '-4'.
DATA: v_current TYPE sy-datum,
v_month1 TYPE sy-datum,
v_month2 TYPE sy-datum,
v_month3 TYPE sy-datum,
v_month4 TYPE sy-datum.
DATA: w_akont TYPE akont,
cc_waers TYPE waers,
cc_kkber TYPE kkber.
DATA: wa_bsid1 TYPE ty_bsid,
found TYPE c,
idx TYPE sy-tabix.
DATA: v_field(10) TYPE c,
v_days(4) TYPE c VALUE 'days',
v_days2(3) TYPE c,
v_days3(3) TYPE c,
v_days4(3) TYPE c,
v_days5(3) TYPE c.
DATA: v_budat1 TYPE bsad-budat,
v_bldat1 TYPE bsad-bldat,
wa_bsad1 TYPE ty_bsad,
idx1 TYPE sy-tabix,
found1 TYPE c.
CONSTANTS DECLARATION
CONSTANTS: c_0 TYPE c VALUE '0',
c_1 TYPE c VALUE '1',
c_2 TYPE c VALUE '2',
c_3 TYPE c VALUE '3',
c_4 TYPE c VALUE '4',
c_5 TYPE c VALUE '5',
c_6 TYPE c VALUE '6',
c_7 TYPE c VALUE '7',
c_8 TYPE c VALUE '8',
c_9 TYPE c VALUE '9',
c_11(2) TYPE c VALUE '11',
c_13(2) TYPE c VALUE '13',
c_14(2) TYPE c VALUE '14',
c_15(2) TYPE c VALUE '15',
c_16(2) TYPE c VALUE '16',
c_17(2) TYPE c VALUE '17',
c_19(2) TYPE c VALUE '19',
c_31(2) TYPE c VALUE '31',
c_40(2) TYPE c VALUE '40',
c_45(2) TYPE c VALUE '45',
c_60(2) TYPE c VALUE '60',
c_75(2) TYPE c VALUE '75',
c_164(3) TYPE c VALUE '164',
c_191(3) TYPE c VALUE '191',
c_x TYPE c VALUE 'X',
c_spc TYPE c VALUE ' ',
c_hyp TYPE c VALUE '-',
c_dot TYPE c VALUE '.',
c_td TYPE c VALUE ':',
c_h TYPE c VALUE 'H',
c_zr(2) TYPE c VALUE 'ZR',
c_kb(2) TYPE c VALUE 'KB',
c_ic1(4) TYPE c VALUE '&IC1'.
*Internal table declaration
DATA : i_bsid TYPE STANDARD TABLE OF ty_bsid,
i_bsad TYPE STANDARD TABLE OF ty_bsad,
i_cust TYPE STANDARD TABLE OF ty_cust,
i_data TYPE STANDARD TABLE OF ty_data,
i_knvp TYPE STANDARD TABLE OF ty_knvp,
i_zterm TYPE STANDARD TABLE OF ty_zterm,
i_analysis TYPE STANDARD TABLE OF ty_analysis,
i_analysis2 TYPE STANDARD TABLE OF ty_analysis,
i_analyhead TYPE STANDARD TABLE OF ty_analyhead,
i_analytot TYPE STANDARD TABLE OF ty_analysis,
i_knvv TYPE STANDARD TABLE OF ty_knvv,
i_klimk TYPE STANDARD TABLE OF ty_klimk,
i_knb1 TYPE STANDARD TABLE OF ty_knb1,
i_kna1 TYPE STANDARD TABLE OF ty_kna1.
Work Area declaration
DATA:
wa_bsid TYPE ty_bsid,
wa_bsad TYPE ty_bsad,
wa_cust TYPE ty_cust,
wa_data TYPE ty_data,
wa_knvp TYPE ty_knvp,
wa_zterm TYPE ty_zterm,
wa_analysis TYPE ty_analysis,
wa_analyhead TYPE ty_analyhead,
wa_analysis2 TYPE ty_analysis,
wa_analytot TYPE ty_analysis,
wa_knvv TYPE ty_knvv,
wa_kna1 TYPE ty_kna1,
wa_knb1 TYPE ty_knb1,
wa_klimk TYPE ty_klimk.
*ALV declaration
DATA: i_fldcat TYPE slis_t_fieldcat_alv, "Field catalog for ALV
wa_fldcat TYPE slis_fieldcat_alv, "Field catalog for ALV
i_sort TYPE slis_t_sortinfo_alv, "SLIS
wa_sort TYPE slis_sortinfo_alv, "Globale Typen für generische
g_repid TYPE sy-repid,
rs_selfield TYPE slis_selfield. "Cursor position
DATA : wa_event TYPE slis_alv_event, "Globale Typen für generische Listbausteine
i_keyinfo TYPE slis_keyinfo_alv, "Globale Typen für generische Listbausteine
i_layout TYPE slis_layout_alv, "Globale Typen für generische Listbausteine
v_repid TYPE sy-repid,
i_event TYPE slis_t_event, "SLIS
i_listhead TYPE slis_t_listheader, "SLIS
wa_listhead TYPE slis_listheader. "Globale Typen für generische Listbausteine
SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK bl11 WITH FRAME TITLE text-001 .
SELECT-OPTIONS: s_bukrs FOR v_bukrs OBLIGATORY,
s_akont FOR w_akont.
SELECTION-SCREEN END OF BLOCK bl11.
SELECTION-SCREEN BEGIN OF BLOCK bl12 WITH FRAME TITLE text-002 .
SELECT-OPTIONS: s_kunnr FOR v_kunnr,
s_sal_r FOR v_pernr MATCHCODE OBJECT prem,
s_crd_r FOR v_pernr MATCHCODE OBJECT prem,
s_zterm FOR v_zterm,
s_ctlpc FOR v_ctlpc.
SELECTION-SCREEN END OF BLOCK bl12.
SELECTION-SCREEN BEGIN OF BLOCK bl13 WITH FRAME TITLE text-003 .
SELECT-OPTIONS:
s_budat FOR v_budat, "Posting date
s_gjahr FOR v_gjahr. "Fiscal year
PARAMETERS p_bldat LIKE v_bldat OBLIGATORY. "Document date
SELECTION-SCREEN END OF BLOCK bl13.
SELECTION-SCREEN BEGIN OF BLOCK bl14 WITH FRAME TITLE text-004 .
PARAMETERS: pt_def RADIOBUTTON GROUP pmt, "Default
pt_man RADIOBUTTON GROUP pmt. "Manual Override
PARAMETERS: val1(3) TYPE n. "Bucket1
SELECTION-SCREEN COMMENT 60(10) text-006 FOR FIELD val1.
PARAMETERS: val2(3) TYPE n, "Bucket 2
val3(3) TYPE n, "Bucket 3
val4(3) TYPE n. "Bucket 4
SELECTION-SCREEN END OF BLOCK bl14.
SELECTION-SCREEN BEGIN OF BLOCK bl15 WITH FRAME TITLE text-005 .
PARAMETERS: age_cc AS CHECKBOX DEFAULT 'X', "Compamy Code
age_ccc AS CHECKBOX DEFAULT 'X', "Companycode&Customer
age_sp AS CHECKBOX DEFAULT 'X', "Sales Rep
age_cr AS CHECKBOX DEFAULT 'X', "Credit Rep
age_cu AS CHECKBOX DEFAULT 'X'. "Customer
SELECTION-SCREEN END OF BLOCK bl15.
*& INITIALIZATION *
INITIALIZATION.
PERFORM initialization.
*& AT SELECTION-SCREEN OUTPUT. *
AT SELECTION-SCREEN.
*& PERFORM FOR FIELD VALIDATION. *
*****Validation for Compnay code
PERFORM validate_company_code.
*****Validation for Customer
PERFORM validate_customer.
*****Validation for check boxes
PERFORM validate_options.
EVENT TOP-OF-PAGE *
TOP-OF-PAGE.
***PERFORM TOPOFPAGE FROM BUILD_EVENT_TAB.
PERFORM topofpage.
*START-OF-SELECTION
START-OF-SELECTION.
****Read data from t001,
PERFORM read_t001.
****Get data from BSID
PERFORM read_bsid.
****Get the vkorg from knvv knb1 into BSID(open items)
IF NOT i_bsid[] IS INITIAL.
Get data into Payment terms in I_BSID
PERFORM get_data_payment_bsid.
ENDIF.
****Data data from BSAD (cleared items)
PERFORM read_bsad.
IF NOT i_bsad[] IS INITIAL.
Get data into Payment terms in I_BSAD
PERFORM get_data_payment_bsad.
ENDIF.
*****Consolidation of data
PERFORM consolidate_data.
*****Buckets caliculations
PERFORM print_age_analysis.
Get the subtotals only
PERFORM get_data_totals_KNB1.
PERFORM get_data_totals.
END-OF-SELECTION *
*END-OF-SELECTION.
IF NOT i_analysis IS INITIAL.
***PERFORM FOR FIELD CATALOG.
***PERFORM FOR BUILD KEYINFO.
PERFORM build_keyinfo.
***PERFORM FOR BUILD EVENT
PERFORM build_event_tab.
***PERFORM FOR BUILD LAYOUT
PERFORM build_layout.
***PERFORM TO DISPLAY THE OUTPUT
IF pt_def = c_x.
PERFORM build_field_catlog_header.
PERFORM build_field_catlog_item.
ELSE.
PERFORM build_field_catlog_header.
PERFORM build_field_catlog_item2.
ENDIF.
PERFORM display_data.
ELSE.
MESSAGE i001.
LEAVE LIST-PROCESSING.
ENDIF.
*& Include /SCL/RDFIARR_CUST_AGEIANA_FORM
*& Form read_t001
FORM read_t001.
CLEAR cc_waers.
READ TABLE s_bukrs INDEX 1 TRANSPORTING NO FIELDS.
CLEAR cc_kkber.
SELECT SINGLE waers kkber INTO (cc_waers, cc_kkber)
FROM t001 WHERE bukrs = s_bukrs-low.
ENDFORM. "read_t001
*& Form read_bsid - Read the data into I_BSID
FORM read_bsid.
SELECT kunnr
name1
katr1
FROM kna1
INTO TABLE i_kna1
WHERE kunnr IN s_kunnr.
IF sy-subrc = c_0.
SORT i_kna1 BY kunnr.
IF s_zterm IS INITIAL.
**Get Payment term from KNB1
SELECT kunnr
bukrs
zterm
FROM
knb1
INTO TABLE i_knb1
FOR ALL ENTRIES IN i_kna1
WHERE kunnr = i_kna1-kunnr
AND zterm IN s_zterm
AND bukrs IN s_bukrs.
IF sy-subrc = c_0.
SELECT kunnr
bukrs
zterm
gjahr
dmbtr
shkzg
augdt
budat
bldat
augbl
belnr
rebzg
rebzz
rebzj
gsber
waers
INTO TABLE i_bsid FROM bsid
FOR ALL ENTRIES IN i_knb1
WHERE kunnr = i_knb1-kunnr
AND zterm = i_knb1-zterm
AND bukrs IN s_bukrs
AND gjahr IN s_gjahr
AND budat IN s_budat
AND hkont IN s_akont.
IF sy-subrc = c_0.
SORT i_bsid BY kunnr.
ENDIF.
ENDIF.
ELSE.
*Get the payment term from BSID
SELECT kunnr
bukrs
zterm
gjahr
dmbtr
shkzg
augdt
budat
bldat
augbl
belnr
rebzg
rebzz
rebzj
gsber
waers
INTO TABLE i_bsid FROM bsid
FOR ALL ENTRIES IN i_kna1
WHERE kunnr = i_kna1-kunnr
AND zterm IN s_zterm
AND bukrs IN s_bukrs
AND gjahr IN s_gjahr
AND budat IN s_budat
AND hkont IN s_akont.
IF sy-subrc = c_0.
SORT i_bsid BY kunnr.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " read_bsid
*& Form Get_data_payment_BSID
text
--> p1 text
<-- p2 text
FORM get_data_payment_bsid .
***get vkor from knvv
SELECT kunnr
vwerk
vkorg
zterm
FROM knvv INTO TABLE i_knvv
FOR ALL ENTRIES IN i_bsid
WHERE kunnr = i_bsid-kunnr
AND zterm IN s_zterm.
SORT i_knvv BY kunnr zterm.
*********15.1.2008.....
IF s_zterm IS INITIAL.
SORT i_knb1 BY kunnr zterm bukrs.
READ TABLE i_knb1 INTO wa_knb1 WITH KEY
kunnr = wa_bsid-kunnr
zterm = wa_bsid-zterm
bukrs = wa_bsid-bukrs
BINARY SEARCH.
IF sy-subrc = c_0.
wa_bsid-zterm = wa_knb1-zterm.
MODIFY i_bsid FROM wa_bsid INDEX sy-tabix.
*else.
******end 15.1.2008
LOOP AT i_bsid INTO wa_bsid.
READ TABLE i_knvv INTO wa_knvv WITH KEY
kunnr = wa_bsid-kunnr
zterm = wa_bsid-zterm
BINARY SEARCH.
IF sy-subrc = c_0.
wa_bsid-vkorg = wa_knvv-vkorg.
MODIFY i_bsid FROM wa_bsid.
CLEAR wa_knvv.
ENDIF.
CLEAR: wa_bsid, wa_knvv.
ENDLOOP.
endif.
endif.
ENDFORM. " Get_data_payment_BSID
*& Form read_bsad - Read the data into I_BSAD
FORM read_bsad.
**Get the customer from KNB1.
IF s_zterm IS INITIAL.
SELECT kunnr
bukrs
zterm
FROM
knb1
INTO TABLE i_knb1
FOR ALL ENTRIES IN i_kna1
WHERE kunnr = i_kna1-kunnr
AND zterm IN s_zterm
AND bukrs IN s_bukrs.
IF sy-subrc = c_0.
SELECT kunnr
bukrs
zterm
gjahr
dmbtr
shkzg
budat
bldat
augdt
augbl
belnr
rebzg
waers
gsber
INTO TABLE i_bsad FROM bsad
FOR ALL ENTRIES IN i_knb1
WHERE kunnr = i_knb1-kunnr
AND zterm = i_knb1-zterm
AND bukrs = i_knb1-bukrs.
ENDIF.
ELSE.
*Get the payment term from BSID
SELECT kunnr
bukrs
zterm
gjahr
dmbtr
shkzg
budat
bldat
augdt
augbl
belnr
rebzg
waers
gsber
INTO TABLE i_bsad FROM bsad
FOR ALL ENTRIES IN i_knb1
WHERE kunnr = i_knb1-kunnr
WHERE bukrs IN s_bukrs
AND zterm IN s_zterm
AND kunnr IN s_kunnr
AND gjahr IN s_gjahr
AND budat IN s_budat
AND augdt LE p_bldat
AND hkont IN s_akont.
ENDIF.
*endif.
ENDFORM. " read_bsad
*& Form get_data_payment_bsad
text
--> p1 text
<-- p2 text
FORM get_data_payment_bsad .
SORT i_knvv BY kunnr zterm.
***********15.1.2008
LOOP AT i_bsad INTO wa_bsad.
IF s_zterm IS INITIAL.
SORT i_knb1 BY kunnr zterm bukrs.
READ TABLE i_knb1 INTO wa_knb1 WITH KEY
kunnr = wa_bsad-kunnr
zterm = wa_bsad-zterm
bukrs = wa_bsad-bukrs
BINARY SEARCH.
IF sy-subrc = c_0.
wa_bsad-zterm = wa_knb1-zterm.
MODIFY i_bsad FROM wa_bsad INDEX sy-tabix.
end 15.1.2008
*else.
LOOP AT i_bsad INTO wa_bsad.
SORT i_knb1 BY kunnr zterm bukrs.
READ TABLE i_knvv INTO wa_knvv WITH KEY
kunnr = wa_bsad-kunnr
zterm = wa_bsad-zterm
BINARY SEARCH.
IF sy-subrc = c_0.
wa_bsad-vkorg = wa_knvv-vkorg.
MODIFY i_bsad FROM wa_bsad.
CLEAR wa_knvv.
ENDIF.
*endif.
*endif.
ENDLOOP.
ENDFORM. " get_data_payment_bsad
*& Form consolidate_data
FORM consolidate_data.
REFRESH i_cust.
LOOP AT i_bsid INTO wa_bsid.
CLEAR wa_cust.
wa_cust-kunnr = wa_bsid-kunnr.
wa_cust-vkorg = wa_bsid-vkorg.
COLLECT wa_cust INTO i_cust.
ENDLOOP.
LOOP AT i_bsad INTO wa_bsad.
CLEAR wa_cust.
wa_cust-kunnr = wa_bsad-kunnr.
wa_cust-vkorg = wa_bsad-vkorg.
COLLECT wa_cust INTO i_cust.
ENDLOOP.
PERFORM customer_information.
PERFORM customer_payment_terms.
PERFORM change_payment_ageing_date.
PERFORM collect_bsid.
PERFORM collect_bsad.
PERFORM exclude_from_data.
PERFORM age_analysis.
ENDFORM. " consolidate_data
*& Form customer_payment_terms
FORM customer_payment_terms.
CLEAR wa_zterm.
IF pt_man = c_x.
wa_zterm-zterm = s_zterm-low.
wa_zterm-ztag1 = val1.
wa_zterm-ztag2 = val2.
wa_zterm-ztag3 = val3.
wa_zterm-ztag4 = val4.
APPEND wa_zterm TO i_zterm.
ELSE.
SELECT zterm
zfael
zmona
zstg1
ztag1
ztag2
ztag3
FROM t052 INTO TABLE i_zterm
WHERE zterm IN s_zterm.
ENDIF.
ENDFORM. " customer_payment_terms
*& Form customer_information
FORM customer_information.
SELECT kunnr ctlpc kkber klimk INTO TABLE i_klimk
FROM knkk
WHERE kunnr IN s_kunnr
AND kkber = cc_kkber.
REFRESH i_zterm.
IF sy-subrc = c_0.
SORT i_kna1 BY kunnr
name1
katr1.
LOOP AT i_cust INTO wa_cust.
CLEAR : wa_knvv, wa_kna1.
READ TABLE i_kna1 INTO wa_kna1 WITH KEY
kunnr = wa_cust-kunnr BINARY SEARCH.
IF sy-subrc = c_0.
wa_cust-name1 = wa_kna1-name1.
wa_cust-katr1 = wa_kna1-katr1.
MODIFY i_cust FROM wa_cust.
ENDIF.
**Get the payment term into i_cust into
SORT i_bsid BY kunnr
zterm.
CLEAR wa_bsid.
READ TABLE i_bsid INTO wa_bsid WITH KEY
kunnr = wa_cust-kunnr BINARY SEARCH.
IF sy-subrc = c_0.
wa_cust-zterm = wa_bsid-zterm.
MODIFY i_cust FROM wa_cust.
ENDIF.
SORT i_knvv BY kunnr
vkorg
vwerk.
READ TABLE i_knvv INTO wa_knvv WITH KEY
vkorg = wa_cust-vkorg
kunnr = wa_cust-kunnr
zterm = wa_cust-zterm
BINARY SEARCH.
IF sy-subrc = c_0.
wa_cust-vwerk = wa_knvv-vwerk.
MODIFY i_cust FROM wa_cust.
ENDIF.
SORT i_klimk BY kunnr
klimk.
READ TABLE i_klimk INTO wa_klimk WITH KEY
kunnr = wa_cust-kunnr
BINARY SEARCH.
wa_cust-klimk = wa_klimk-klimk.
MODIFY i_cust FROM wa_cust.
ENDLOOP.
ENDIF.
***get partner details
SELECT parvw pernr INTO TABLE i_knvp
FROM knvp FOR ALL ENTRIES IN i_cust
WHERE kunnr = i_cust-kunnr
AND vkorg = i_cust-vkorg
AND ( parvw = c_zr OR parvw = c_kb ).
IF sy-subrc = c_0.
LOOP AT i_knvp INTO wa_knvp.
CASE wa_knvp-parvw.
WHEN c_zr.
wa_cust-sal_r = wa_knvp-pernr.
WHEN c_kb.
wa_cust-crd_r = wa_knvp-pernr.
ENDCASE.
APPEND wa_cust TO i_cust.
ENDLOOP.
ENDIF.
REFRESH i_knvp.
ENDFORM. " customer_information
*& Form collect_bsid
FORM collect_bsid.
SORT i_cust BY kunnr
vkorg.
LOOP AT i_bsid INTO wa_bsid.
MOVE-CORRESPONDING wa_bsid TO wa_data.
CLEAR wa_cust.
READ TABLE i_cust INTO wa_cust WITH KEY kunnr = wa_bsid-kunnr
zterm = wa_bsid-zterm
vkorg = wa_bsid-vkorg
BINARY SEARCH.
"gsber = wa_bsid-gsber.
IF sy-subrc = c_0.
MOVE-CORRESPONDING wa_cust TO wa_data.
ENDIF.
IF wa_bsid-shkzg = c_h.
wa_data-dmbtr = wa_data-dmbtr * - c_1.
ENDIF.
APPEND wa_data TO i_data.
COLLECT wa_data INTO i_data.
CLEAR: wa_bsid, wa_data.
ENDLOOP.
ENDFORM. " collect_bsid
*& Form collect_bsad
FORM collect_bsad.
SORT i_cust BY kunnr
vkorg.
LOOP AT i_bsad INTO wa_bsad.
MOVE-CORRESPONDING wa_bsad TO wa_data.
CLEAR wa_cust.
READ TABLE i_cust INTO wa_cust WITH KEY kunnr = wa_bsad-kunnr
zterm = wa_bsad-zterm
vkorg = wa_bsad-vkorg
BINARY SEARCH .
IF sy-subrc = c_0.
MOVE-CORRESPONDING wa_cust TO wa_data.
ENDIF.
IF wa_bsad-shkzg = c_h.
wa_data-dmbtr = wa_data-dmbtr * - c_1.
ENDIF.
APPEND wa_data TO i_data.
COLLECT wa_data INTO i_data.
CLEAR: wa_bsad, wa_data.
ENDLOOP.
ENDFORM. " collect_bsad
*& Form exclude_from_data
FORM exclude_from_data.
LOOP AT i_data INTO wa_data.
IF NOT wa_data-zterm IN s_zterm.
DELETE i_data INDEX sy-tabix.
CONTINUE.
ENDIF.
IF wa_data-dmbtr = c_0.
DELETE i_data INDEX sy-tabix.
CONTINUE.
ENDIF.
IF NOT wa_data-sal_r IN s_sal_r.
DELETE i_data INDEX sy-tabix.
CONTINUE.
ENDIF.
IF NOT wa_data-crd_r IN s_crd_r.
DELETE i_data INDEX sy-tabix.
CONTINUE.
ENDIF.
IF NOT wa_data-ctlpc IN s_ctlpc.
DELETE i_data INDEX sy-tabix.
CONTINUE.
ENDIF.
ENDLOOP.
ENDFORM. " exclude_from_data
**& Form age_analysis
FORM age_analysis.
DATA: ztag(5) TYPE n.
DATA: v_date LIKE sy-datum.
PERFORM determine_bucket_dates.
REFRESH i_analysis.
LOOP AT i_data INTO wa_data.
wa_data-waers = cc_waers.
MODIFY i_data FROM wa_data.
CLEAR wa_analysis.
wa_analysis-zterm = wa_data-zterm.
IF age_cc = c_x.
wa_analysis-bukrs = wa_data-bukrs.
ENDIF.
IF age_sp = c_x.
wa_analysis-sal_r = wa_data-sal_r.
ENDIF.
IF age_cr = c_x.
wa_analysis-crd_r = wa_data-crd_r.
ENDIF.
SORT i_kna1 BY kunnr.
READ TABLE i_kna1 INTO wa_kna1 WITH KEY kunnr = wa_data-kunnr.
IF sy-subrc = c_0.
IF age_cu = c_x.
wa_analysis-kunnr = wa_data-kunnr.
wa_analysis-name1 = wa_kna1-name1.
ENDIF.
IF age_ccc = c_x.
wa_analysis-kunnr = wa_data-kunnr.
wa_analysis-bukrs = wa_data-bukrs.
wa_analysis-name1 = wa_kna1-name1.
ENDIF.
ENDIF.
Age
SORT i_zterm BY zterm.
READ TABLE i_zterm INTO wa_zterm WITH KEY zterm = wa_data-zterm
BINARY SEARCH.
if the customer has a payment terms that is based on the end of the
month, determine the "new" document date and then the new intervals.
IF wa_zterm-zfael = c_31.
CALL FUNCTION 'SG_PS_GET_LAST_DAY_OF_MONTH'
EXPORTING
day_in = wa_data-bldat
IMPORTING
last_day_of_month = v_date.
wa_zterm-ztag1 = v_date+6(2).
v_date = wa_data-bldat + v_date+6(2).
CALL FUNCTION 'SG_PS_GET_LAST_DAY_OF_MONTH'
EXPORTING
day_in = v_date
IMPORTING
last_day_of_month = v_date.
wa_zterm-ztag2 = v_date+6(2) + wa_zterm-ztag1.
v_date = v_date + 1.
CALL FUNCTION 'SG_PS_GET_LAST_DAY_OF_MONTH'
EXPORTING
day_in = v_date
IMPORTING
last_day_of_month = v_date.
wa_zterm-ztag3 = v_date+6(2) + wa_zterm-ztag2.
v_date = v_date + 1.
CALL FUNCTION 'SG_PS_GET_LAST_DAY_OF_MONTH'
EXPORTING
day_in = v_date
IMPORTING
last_day_of_month = v_date.
wa_zterm-ztag4 = v_date+6(2) + wa_zterm-ztag3.
ENDIF.
ztag = p_bldat - wa_data-bldat.
IF wa_zterm-zfael <> c_31.
IF ztag LE wa_zterm-ztag1.
wa_analysis-dmbtr1 = wa_data-dmbtr.
ELSEIF ztag LE wa_zterm-ztag2.
wa_analysis-dmbtr2 = wa_data-dmbtr.
ELSEIF ztag LE wa_zterm-ztag3.
wa_analysis-dmbtr3 = wa_data-dmbtr.
ELSEIF ztag LE wa_zterm-ztag4.
wa_analysis-dmbtr4 = wa_data-dmbtr.
ELSE.
wa_analysis-dmbtr5 = wa_data-dmbtr.
ENDIF.
ELSE.
ZFAEL value 31 identifies the calendar month ageing
for Y30/Y31 compare document dates to bucket dates
IF wa_data-bldat GE v_current.
wa_analysis-dmbtr1 = wa_data-dmbtr.
ELSEIF wa_data-bldat GE v_month1.
wa_analysis-dmbtr2 = wa_data-dmbtr.
ELSEIF wa_data-bldat GE v_month2.
wa_analysis-dmbtr3 = wa_data-dmbtr.
ELSEIF wa_data-bldat GE v_month3.
wa_analysis-dmbtr4 = wa_data-dmbtr.
ELSE.
wa_analysis-dmbtr5 = wa_data-dmbtr.
ENDIF.
ENDIF.
wa_analysis-total = wa_analysis-total + wa_data-dmbtr.
wa_analysis-waers = wa_data-waers.
APPEND wa_analysis TO i_analysis.
ENDLOOP.
ENDFORM. " age_analysis
*& Form print_age_analysis
FORM print_age_analysis.
SORT i_analysis BY
bukrs
vwerk
zterm
kunnr.
***15.1.08
IF NOT s_zterm IS INITIAL.
LOOP AT i_analysis INTO wa_analysis.
IF wa_analysis-dmbtr1 = c_0 AND
wa_analysis-dmbtr2 = c_0 AND
wa_analysis-dmbtr3 = c_0 AND
wa_analysis-dmbtr4 = c_0 AND
wa_analysis-dmbtr5 = c_0.
DELETE i_analysis INDEX sy-tabix.
ENDIF.
CLEAR wa_cust.
READ TABLE i_cust INTO wa_cust WITH KEY
kunnr = wa_analysis-kunnr
BINARY SEARCH.
IF sy-subrc = c_0.
wa_analysis-crlimit = wa_cust-klimk.
MODIFY i_analysis FROM wa_analysis .
DELETE i_cust INDEX sy-tabix.
ELSE.
wa_analysis-crlimit = c_0.
ENDIF.
ENDLOOP.
*******15.1.08.
DATA : v_sum TYPE dmbtr.
DATA : v_zterm TYPE dzterm.
SELECT SINGLE zterm table knb1 upto 1 row INTO v_zterm.
ELSE.
i_analysis2[] = i_analysis[].
LOOP AT i_analysis2 INTO wa_analysis2.
v_sum = v_sum + wa_analysis2-total.
ENDLOOP.
READ TABLE i_analysis2 INTO wa_analysis2
endif.
ENDFORM. " print_age_analysis
*******FORM determine_bucket_dates.
FORM determine_bucket_dates.
determine 1st day of current period
v_current = p_bldat.
PERFORM get_last_day_of_month CHANGING v_current.
ADD 1 TO v_current.
PERFORM go_back_months CHANGING v_current v_m1.
determine 1st day of month 1 (30)
v_month1 = v_current.
PERFORM go_back_months CHANGING v_month1 v_m1.
determine 1st day of month 2 (60)
v_month2 = v_current.
PERFORM go_back_months CHANGING v_month2 v_m2.
determine 1st day of month 3 (90)
v_month3 = v_current.
PERFORM go_back_months CHANGING v_month3 v_m3.
determine 1st day of month 4 (120)
v_month4 = v_current.
PERFORM go_back_months CHANGING v_month4 v_m4.
ENDFORM. "determine_bucket_dates
FORM get_last_day_of_month *
FORM get_last_day_of_month CHANGING p_date TYPE any.
CALL FUNCTION 'SG_PS_GET_LAST_DAY_OF_MONTH'
EXPORTING
day_in = p_date
IMPORTING
last_day_of_month = p_date.
ENDFORM. "get_last_day_of_month
FORM go_back_months *
FORM go_back_months CHANGING p_date TYPE any
months TYPE any.
DATA: olddate TYPE sy-datum,
newdate TYPE sy-datum.
olddate = p_date.
DATA: BEGIN OF dat,
jjjj(4) TYPE c ,
mm(2) TYPE c,
tt(2) TYPE c ,
END OF dat,
BEGIN OF hdat,
jjjj(4) TYPE c ,
mm(2) TYPE c,
tt(2) TYPE c,
END OF hdat,
newmm TYPE p,
diffjjjj TYPE p.
WRITE: olddate+0(4) TO dat-jjjj,
olddate+4(2) TO dat-mm,
olddate+6(2) TO dat-tt.
diffjjjj = ( dat-mm + months - 1 ) DIV 12.
newmm = ( dat-mm + months - 1 ) MOD 12 + 1.
dat-jjjj = dat-jjjj + diffjjjj.
IF newmm < 10.
WRITE '0' TO dat-mm+0(1).
WRITE newmm TO dat-mm+1(1).
ELSE.
WRITE newmm TO dat-mm.
ENDIF.
IF dat-tt > '28'.
hdat-tt = '01'.
newmm = ( dat-mm ) MOD 12 + 1.
hdat-jjjj = dat-jjjj + ( ( dat-mm ) DIV 12 ).
IF newmm < 10.
WRITE '0' TO hdat-mm+0(1).
WRITE newmm TO hdat-mm+1(1).
ELSE.
WRITE newmm TO hdat-mm.
ENDIF.
IF dat-tt = '31'.
newdate = hdat.
newdate = newdate - 1.
ELSE.
IF dat-mm = '02'.
newdate = hdat.
newdate = newdate - 1.
ELSE.
newdate = dat.
ENDIF.
ENDIF.
ELSE.
newdate = dat.
ENDIF.
p_date = newdate.
ENDFORM. "go_back_months
********************************** -
HI,
Can any one send some hierarchial alv progrms.
with warm regards,
khadar.Hi,
report zwmr_pick_status_report no standard page heading
message-id zw.
Type Pools *
type-pools: icon, slis.
Tables *
tables: tvst,
likp,
t30b,
vekp,
zpallettr,
zvantr.
Types *
types:
begin of ty_data,
lgtor like likp-lgtor, " door
vbeln like likp-vbeln, " delivery
wbstk like vbuk-wbstk, " Goods movement status
kostk like vbuk-kostk, " Picking status
posnr like lips-posnr, " item
route like likp-route, " route
wadat like likp-wadat, " goods issue date
lvsta like vbup-lvsta, " warehouse status
packvorschr like vekp-packvorschr, " pack mnemonic
exidv like vekp-exidv, " handling unit
zpallet_no(10), "like zpallettr-zpallet_no, " pallet no
zcount_check like zpallettr-zcount_check," count check flag
zvan_no(10), "like zvantr-zvan_no, " van no
zvan_print like zvantr-zvan_print, " van manifest print
zeod_print like zvantr-zeod_print, " eod manifest print
zzpackclass like vekp-zzpackclass, " package class
zzti like vekp-zzti, " T.I. value
end of ty_data.
Data *
ranges: r_del for likp-vbeln,
r_lgtor for likp-lgtor.
ranges: r_vanno for zvantr-zvan_no,
r_palno for zpallettr-zpallet_no.
data: begin of number_range occurs 0,
mark(1),
id(3),
num(10) type n,
desc like zpalletmd-zdesc,
end of number_range.
data: t_disp_tab type standard table of zpickdisp,
t_data_tab type ty_data occurs 0 with header line,
t_disp_head type standard table of zpickhead.
data: w_numrnge like number_range,
w_number(10) type n.
data: t_likp like likp occurs 0 with header line,
t_lips like lips occurs 0 with header line,
t_vbuk like vbuk occurs 0 with header line,
t_vbup like vbup occurs 0 with header line,
t_vepo like vepo occurs 0 with header line,
t_vekp like vekp occurs 0 with header line,
t_vantr like zvantr occurs 0 with header line,
t_pallettr like zpallettr occurs 0 with header line,
w_likp like likp,
w_lips like lips,
w_vbuk like vbuk,
w_vbup like vbup,
w_vepo like vepo,
w_vekp like vekp.
ALV DATA *****
data:
g_grid type ref to cl_gui_alv_grid,
g_sort type slis_t_sortinfo_alv,
g_custom_container type ref to cl_gui_custom_container,
g_layout type slis_layout_alv,
gt_fieldcat type slis_t_fieldcat_alv,
t_fldcat like line of gt_fieldcat,
g_keyinfo type slis_keyinfo_alv,
gt_events type slis_t_event,
gs_event type slis_alv_event,
w_sy_repid like sy-repid.
data: begin of seltab occurs 0.
include structure rsparams.
data: end of seltab.
SYSTEM GENERATED TABLE CONTROL DATA ********
DECLARATION OF TABLECONTROL 'TC_TABCON' ITSELF
controls: tc_tabcon type tableview using screen 0100.
LINES OF TABLECONTROL 'TC_TABCON'
data: g_tc_tabcon_lines like sy-loopc.
data: ok_code like sy-ucomm.
Constants *
constants: c_data_class like klah-class value 'DG_DATA',
c_mat_class like rmclf-klart value '001',
c_pack like lips-mtart value 'VERP',
c_a(1) value 'A',
c_b(1) value 'B',
c_c(1) value 'C',
c_yes(1) value 'X',
c_no(1) value ' '.
Selection screen *
standard report select options block
selection-screen begin of block a with frame title text-002.
select-options:
s_wadat for likp-wadat no-extension obligatory. " Goods Issue Date
*parameters: "TR01-
p_vstel like tvst-vstel obligatory. " Shipping Point "TR01-
select-options: "TR01+
p_vstel for tvst-vstel. " Shipping Point "TR01+
select-options:
s_lfart for likp-lfart, " Delivery type
s_lgtor for t30b-lgtor, " Door selection
s_exidv for vekp-exidv, " Handling Unit
s_vbeln for likp-vbeln. " Delivery
parameters:
p_exdata as checkbox. " Show extra columns flag
selection-screen end of block a.
van/pallet specific select options block
selection-screen begin of block b with frame title text-001.
select-options:
s_palno for zpallettr-zpallet_no, " no-extension,
s_vanno for zvantr-zvan_no. " no-extension.
selection-screen end of block b.
Value Request Events *
at selection-screen on value-request for s_palno-low.
clear: number_range, w_number .
refresh number_range.
select numbers and display pop up screen for selection
perform select_pal_nos.
s_palno-low = w_number.
at selection-screen on value-request for s_palno-high.
clear: number_range, w_number .
refresh number_range.
select numbers and display pop up screen for selection
perform select_pal_nos.
s_palno-high = w_number.
at selection-screen on value-request for s_vanno-low.
clear: number_range, w_number .
refresh number_range.
select numbers and display pop up screen for selection
perform select_van_nos.
s_vanno-low = w_number.
at selection-screen on value-request for s_vanno-high.
clear: number_range, w_number .
refresh number_range.
select numbers and display pop up screen for selection
perform select_van_nos.
s_vanno-high = w_number.
At Selection Screen *
at selection-screen.
perform validate_selections.
Initialization *
initialization.
Start of selection *
start-of-selection.
clear all data tables
clear: t_likp,
t_lips,
t_vbuk,
t_vbup,
t_vepo,
t_vantr,
t_pallettr,
w_likp,
w_lips,
w_vbuk,
w_vbup,
w_vepo,
w_vekp.
refresh: t_likp,
t_lips,
t_vbuk,
t_vbup,
t_vepo,
t_vantr,
t_pallettr.
select data for ALV
due to different input parameters being used, to streamline the data
selection process, different selection methods are required
if not s_vanno is initial
or not s_palno is initial.
if selecting by van/pallet number, need to select the data from the
handling unit upwards to delivery
perform select_data_up.
else.
otherwise the data can be selected from the delivery downwards
perform select_data_down.
endif.
End of selection *
end-of-selection.
call hierarchical ALV display function module
call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
exporting
i_callback_program = 'ZWMR_PICK_STATUS_REPORT'
i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command =
'USER_COMMAND' "custom gui status form
is_layout = g_layout "user command form
it_fieldcat = gt_fieldcat
it_sort = g_sort
it_events = gt_events
i_tabname_header = 't_disp_head'
i_tabname_item = 't_disp_tab'
i_structure_name_header = 'ZPICKHEAD'
i_structure_name_item = 'ZPICKDISP'
is_keyinfo = g_keyinfo
tables
t_outtab_header = t_disp_head
t_outtab_item = t_disp_tab.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
FORMS *
Includes inserted by Screen Painter Wizard. DO NOT CHANGE THIS LINE!
include zwmr_pick_status_reporto01 .
include zwmr_pick_status_reporti01 .
include zwmr_pick_status_reportf01 .
*& Form select_pal_nos
select pallet numbers for search help
form select_pal_nos.
data: begin of t_palno occurs 0,
zpallet_no like zpallettr-zpallet_no,
end of t_palno.
select all available pallet numbers
select distinct zpallet_no from zpallettr
into corresponding fields of table t_palno.
loop at t_palno.
get pallet id
select single zpallet_id from zpallettr
into number_range-id
where zpallet_no = t_palno-zpallet_no.
get pallet description
select single zdesc from zpalletmd
into number_range-desc
where zpallet_id = number_range-id.
number_range-num = t_palno-zpallet_no.
append to search help table
append number_range.
endloop.
call pop up dialog box
call screen 0100 starting at 5 5.
endform. " select_pal_nos
*& Form select_van_nos
select van numbers for search help
form select_van_nos.
data: begin of t_vanno occurs 0,
zvan_no like zvantr-zvan_no,
end of t_vanno.
select available van numbers
select distinct zvan_no from zvantr
into corresponding fields of table t_vanno.
loop at t_vanno.
select van id
select single zvan_id from zvantr
into number_range-id
where zvan_no = t_vanno-zvan_no.
select van description (maintained in pallet tables)
select single zdesc from zpalletmd
into number_range-desc
where zpallet_id = number_range-id.
number_range-num = t_vanno-zvan_no.
append to search help table
append number_range.
endloop.
call pop up dialog box
call screen 0100 starting at 5 5.
endform. " select_van_nos
*& Form select_data_down
select data if selecting from delivery down
form select_data_down.
select all deliveries from LIKP that fulfill selection criteria
select * from likp into table t_likp
where vbeln in s_vbeln
and vstel eq p_vstel "TR01-
and vstel in p_vstel
and lgtor in s_lgtor
and wadat in s_wadat
and lfart in s_lfart.
if sy-subrc ne 0.
no data found
message i007.
exit.
endif.
if not t_likp[] is initial.
select sales document headers from VBUK
select * from vbuk into table t_vbuk
for all entries in t_likp
where vbeln eq t_likp-vbeln.
select all relevant delivery items from LIPS
select * from lips into table t_lips
for all entries in t_likp
where vbeln eq t_likp-vbeln
and pstyv ne 'ZPAC'
and pstyv ne 'ZGDP' "TR02+
and lfimg gt 0. "TR01+
endif.
if not t_lips[] is initial.
select all sales document line items from VBUP
select * from vbup into table t_vbup
for all entries in t_lips
where vbeln eq t_lips-vbeln
and posnr = t_lips-posnr.
select corresponding handling unit ID's (venum)
TR03 Replace start
select * from vepo appending corresponding fields of table t_vepo
for all entries in t_lips
where vbeln = t_lips-vbeln
and posnr = t_lips-posnr
and matnr = t_lips-matnr
and charg = t_lips-charg.
select * from vepo
inner join vekp on vepovenum = vekpvenum
appending corresponding fields of table t_vepo
for all entries in t_lips
where vepo~vbeln = t_lips-vbeln
and vepo~posnr = t_lips-posnr
and vepo~matnr = t_lips-matnr
and vepo~charg = t_lips-charg
and vekp~exidv in s_exidv.
TR03 Replace end
endif.
build process table
perform move_to_table.
endform. "select_data_down
*& Form select_data_up
select data if selecting from van/pallet up
form select_data_up.
if not s_vanno is initial.
if van then select van numbers and hence pallet numbers
select * from zvantr into table t_vantr
where zvan_no in s_vanno.
and vstel eq p_vstel."TR01-
if not t_vantr[] is initial.
select * from zpallettr into table t_pallettr
for all entries in t_vantr
where zpallet_no eq t_vantr-zpallet_no.
and vstel eq p_vstel."TR01-
endif.
else.
otherwise can get pallet numbers directly
select * from zpallettr into table t_pallettr
where zpallet_no in s_palno.
and vstel eq p_vstel."TR01-
endif.
if not t_pallettr[] is initial.
from the pallet nos. we can select the handling units
select * from vekp into table t_vekp
for all entries in t_pallettr
where exidv eq t_pallettr-exidv
and exidv ne space
and exidv in s_exidv "TR03+
and ( exida = 'E' "TR01+
or exida = 'F' ). "TR01+
endif.
if not t_vekp[] is initial.
build vbeln range from t_vekp.
loop at t_vekp.
r_del-sign = 'I'.
r_del-option = 'EQ'.
r_del-low = t_vekp-vpobjkey.
append r_del.
endloop.
select all deliveries from LIKP that correspond to HU's
select * from likp into table t_likp
where vbeln in r_del
and wadat in s_wadat
and lfart in s_lfart.
endif.
if not t_likp[] is initial.
select sales document headers from VBUK
select * from vbuk into table t_vbuk
for all entries in t_likp
where vbeln eq t_likp-vbeln.
select all relevant delivery items from LIPS
select * from lips into table t_lips
for all entries in t_likp
where vbeln eq t_likp-vbeln
and pstyv ne 'ZPAC'
and pstyv ne 'ZGDP' "TR02+
and lfimg gt 0. "TR01+
endif.
if not t_lips[] is initial.
select all sales document line items from VBUP
select * from vbup into table t_vbup
for all entries in t_lips
where vbeln eq t_lips-vbeln
and posnr = t_lips-posnr.
select corresponding handling unit ID's (venum)
select * from vepo appending corresponding fields of table t_vepo
for all entries in t_lips
where vbeln = t_lips-vbeln
and posnr = t_lips-posnr
and matnr = t_lips-matnr
and charg = t_lips-charg.
endif.
build process table
perform move_to_table.
endform. "select_data_up
*& Form move_to_table
move data to processing table
form move_to_table.
loop at t_vepo.
clear t_data_tab.
delivery lines.
clear w_lips.
read table t_lips with key vbeln = t_vepo-vbeln
posnr = t_vepo-posnr
into w_lips.
move-corresponding w_lips to t_data_tab.
sales document line items
clear w_vbup.
read table t_vbup with key vbeln = t_vepo-vbeln
posnr = t_vepo-posnr
into w_vbup.
if w_vbup-kosta = space. "TR01-
not relevant for picking
delete t_vepo. "TR01-
continue. "TR01-
else. "TR01-
move-corresponding w_vbup to t_data_tab.
endif. "TR01-
sales doc header
clear w_vbuk.
read table t_vbuk with key vbeln = t_vepo-vbeln
into w_vbuk.
move-corresponding w_vbuk to t_data_tab.
delivery header
clear w_likp.
read table t_likp with key vbeln = t_vepo-vbeln
into w_likp.
move-corresponding w_likp to t_data_tab.
select handling unit info using vepo entry
clear w_vekp.
if t_vekp[] is initial.
select single * from vekp into w_vekp
where venum = t_vepo-venum.
else.
read table t_vekp with key venum = t_vepo-venum
into w_vekp.
if sy-subrc ne 0.
select single * from vekp into w_vekp
where venum = t_vepo-venum.
endif.
endif.
move-corresponding w_vekp to t_data_tab.
select pallet / van load information
select single zpallet_no zcount_check from zpallettr
into (t_data_tab-zpallet_no,
t_data_tab-zcount_check)
where exidv eq w_vekp-exidv.
if not t_data_tab-zpallet_no in s_palno. "TR01+
continue. "TR01+
endif. "TR01+
if sy-subrc = 0.
select single zvan_no zvan_print zeod_print from zvantr
into (t_data_tab-zvan_no,
t_data_tab-zvan_print,
t_data_tab-zeod_print)
where zpallet_no eq t_data_tab-zpallet_no.
if not t_data_tab-zvan_no in s_vanno. "TR01+
continue. "TR01+
endif. "TR01+
endif.
append t_data_tab.
endloop.
*-----> TR01+ start
If the delivery has yet to be packed, then need to include in report
Thus delete t_lips here and if any entries left after looping through
t_vepo, these will also need to be added to t_data_tab
if the selection is by handling unit though we do not want these"TR03+
if s_exidv is initial. "TR03+
loop at t_vepo.
read table t_lips with key vbeln = t_vepo-vbeln
posnr = t_vepo-posnr.
if sy-subrc = 0.
delete t_lips index sy-tabix.
endif.
endloop.
if not t_lips[] is initial.
move any unpacked items to the data table
perform move_lips_to_table.
endif.
endif. "TR03+
*<---- TR01+ End
get relevant status icons
perform select_icons.
prepare ALV data
perform prepare_alv.
endform. " select_data
*& Form select_icons
select icons for display and move data to display table
form select_icons.
data: w_disp_tab like zpickdisp,
w_disp_head like zpickhead,
w_color like zpickdisp-color,
ov_icon like zpickdisp-ov_icon,
gi_icon like zpickdisp-gi_icon,
to_icon like zpickdisp-to_icon,
lp_icon like zpickdisp-lp_icon,
pc_icon like zpickdisp-pc_icon,
lv_icon like zpickdisp-lv_icon,
vm_icon like zpickdisp-vm_icon,
em_icon like zpickdisp-em_icon,
t_ovst_tab like t_disp_tab with header line.
constants: c_col1(3) value 'C10',
c_col2(3) value 'C20'.
sort t_data_tab by lgtor vbeln.
w_color = c_col2.
loop at t_data_tab.
at new lgtor.
fill ALV header table
clear w_disp_head.
w_disp_head-lgtor = t_data_tab-lgtor.
append w_disp_head to t_disp_head.
endat.
goods issue status & overall amber/green only
case t_data_tab-wbstk.
when c_c.
move icon_green_light to gi_icon.
move icon_green_light to ov_icon.
when others.
move icon_red_light to gi_icon.
move icon_yellow_light to ov_icon.
endcase.
transfer order status
case t_data_tab-lvsta.
when c_a.
move icon_red_light to to_icon.
when c_b.
move icon_yellow_light to to_icon.
when c_c.
move icon_green_light to to_icon.
when space.
write N/A
to_icon = 'N/A'.
endcase.
loaded to pallet status
if not t_data_tab-zpallet_no is initial.
move icon_green_light to lp_icon.
else.
move icon_red_light to lp_icon.
endif.
pallet count status
if not t_data_tab-zcount_check is initial.
move icon_green_light to pc_icon.
else.
move icon_red_light to pc_icon.
endif.
loaded to van status
if not t_data_tab-zvan_no is initial.
move icon_green_light to lv_icon.
else.
move icon_red_light to lv_icon.
endif.
van manifest status
if not t_data_tab-zvan_print is initial.
move icon_green_light to vm_icon.
else.
move icon_red_light to vm_icon.
endif.
end of day manifest status
if not t_data_tab-zeod_print is initial.
move icon_green_light to em_icon.
else.
move icon_red_light to em_icon.
endif.
move working data table to display table
move-corresponding t_data_tab to w_disp_tab.
w_disp_tab-ov_icon = ov_icon.
w_disp_tab-gi_icon = gi_icon.
w_disp_tab-to_icon = to_icon.
w_disp_tab-lp_icon = lp_icon.
w_disp_tab-pc_icon = pc_icon.
w_disp_tab-lv_icon = lv_icon.
w_disp_tab-vm_icon = vm_icon.
w_disp_tab-em_icon = em_icon.
w_disp_tab-color = w_color.
fill N/A values for initial fields for display
if w_disp_tab-packvorschr is initial.
w_disp_tab-packvorschr = 'N/A'.
endif.
if w_disp_tab-exidv is initial.
w_disp_tab-exidv = 'N/A'.
endif.
if w_disp_tab-zpallet_no is initial.
write 'N/A' to w_disp_tab-zpallet_no.
endif.
if w_disp_tab-zvan_no is initial.
write 'N/A' to w_disp_tab-zvan_no.
endif.
display different color for new doc number
at end of vbeln.
if w_color = c_col1.
w_color = c_col2.
elseif w_color = c_col2.
w_color = c_col1.
endif.
endat.
append w_disp_tab to t_disp_tab.
clear w_disp_tab.
endloop.
we have all the icons in display but need to check the overall status
as this refers to the line items
green and amber statuses already set and use the same criteria as the
goods issue status unless detected as red here
data: ov_stat_red(1).
clear w_disp_tab.
sort t_disp_tab by vbeln.
loop at t_disp_tab into w_disp_tab.
at new vbeln.
check all line items for delivery
loop at t_data_tab where vbeln = w_disp_tab-vbeln.
if t_data_tab-lvsta = c_a.
set overall status to red
ov_stat_red = c_yes.
exit.
else.
leave green/amber status icon as previosly determined
endif.
endloop.
if ov_stat_red = c_yes.
set overall status to red for all items in that delivery
clear ov_stat_red.
move icon_red_light to w_disp_tab-ov_icon.
modify t_disp_tab from w_disp_tab transporting ov_icon
where vbeln = w_disp_tab-vbeln.
endif.
endat.
endloop.
endform. " select_icons
*& Form fill_layout
fill ALV layout parameters
form fill_layout.
clear g_layout.
g_layout-colwidth_optimize = c_yes. " column width optimisation
g_layout-zebra = space. " alternate line colors
g_layout-box_fieldname = 'MARK'. " checkbox fieldname
g_layout-info_fieldname = 'COLOR'. " highlight row indicator
g_layout-no_vline = space. " vertical line
g_layout-key_hotspot = space. " hotspot field
g_layout-f2code = 'PICK'. " F2 ok_code
g_layout-numc_sum = c_yes. " sum numc fields
g_layout-box_tabname = 't_disp_head'. " checkbox table name
g_layout-expand_fieldname = 'EXPAND'. " expand field name
endform. " fill_layout
*& Form fill_sort
fill ALV sort table
form fill_sort.
data: w_g_sort type slis_sortinfo_alv.
w_g_sort-spos = 1.
w_g_sort-fieldname = 'LGTOR'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
append w_g_sort to g_sort.
w_g_sort-spos = 2.
w_g_sort-fieldname = 'VBELN'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
append w_g_sort to g_sort.
w_g_sort-spos = 3.
w_g_sort-fieldname = 'POSNR'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
append w_g_sort to g_sort.
w_g_sort-spos = 4.
w_g_sort-fieldname = 'WADAT'.
w_g_sort-tabname = 't_disp_tab'.
w_g_sort-up = c_yes.
append w_g_sort to g_sort.
endform. " fill_sort
*& Form fill_fieldcat
Fill field category structure for ALV
form fill_fieldcat.
clear t_fldcat.
create field catalogue for header table
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = 'ZWMR_PICK_STATUS_REPORT'
i_internal_tabname = 't_disp_head'
i_structure_name = 'ZPICKHEAD'
i_client_never_display = c_yes
changing
ct_fieldcat = gt_fieldcat[].
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
ceate field catalogue for items table
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = 'ZWMR_PICK_STATUS_REPORT'
i_internal_tabname = 't_disp_tab'
i_structure_name = 'ZPICKDISP'
i_client_never_display = c_yes
changing
ct_fieldcat = gt_fieldcat[].
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
modify field catalogue for this report
set no display flag if not requested on selection screen
if p_exdata ne c_yes.
t_fldcat-no_out = c_yes.
modify gt_fieldcat from t_fldcat transporting no_out
where fieldname eq 'PACKVORSCHR'
or fieldname eq 'EXIDV'
or fieldname eq 'ZPALLET_NO'
or fieldname eq 'ZVAN_NO'
or fieldname eq 'ZZPACKCLASS'
or fieldname eq 'ZZTI'.
endif.
set no display flag for item level LGTOR field
t_fldcat-no_out = c_yes.
modify gt_fieldcat from t_fldcat transporting no_out
where fieldname eq 'LGTOR'
and tabname eq 't_disp_tab'.
prevent display of technical fields
t_fldcat-tech = c_yes.
modify gt_fieldcat from t_fldcat transporting tech
where fieldname eq 'EXPAND'
or fieldname eq 'SELKZ'.
set vbeln as key
t_fldcat-key = c_yes.
modify gt_fieldcat from t_fldcat transporting key
where fieldname eq 'VBELN'.
prevent scrolling for info fields
t_fldcat-fix_column = c_yes.
modify gt_fieldcat from t_fldcat transporting fix_column
where fieldname eq 'VBELN'.
endform. " fill_fieldcat
*& Form prepare_ALV
Fill ALV parameters
form prepare_alv.
fill ALV key info
g_keyinfo-header01 = 'LGTOR'.
g_keyinfo-item01 = 'LGTOR'.
fill ALV events
gs_event-name = 'TOP_OF_PAGE'.
gs_event-form = 'TOP_OF_PAGE'.
append gs_event to gt_events.
fill ALV sort table
perform fill_sort.
fill ALV layout structure
perform fill_layout.
fill ALV field category
perform fill_fieldcat.
endform. " prepare_ALV
*& Form user_command
form called on user command from ALV list
form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
data: index type i,
w_disp_head like line of t_disp_head,
w_door like likp-lgtor.
clear r_lgtor. refresh r_lgtor.
case r_ucomm.
when 'PICK'. " Double click line
when 'VANM'. " Van Manifest button
read the header table where has been selected
loop at t_disp_head into w_disp_head where mark = c_yes.
r_lgtor-sign = 'I'.
r_lgtor-option = 'EQ'.
r_lgtor-low = w_disp_head-lgtor.
append r_lgtor.
endloop.
print the van manifest
perform print_van_manifest tables r_lgtor.
when 'EODM'. " EOD Manifest button
read the header table where has been selected
loop at t_disp_head into w_disp_head where mark = c_yes.
r_lgtor-sign = 'I'.
r_lgtor-option = 'EQ'.
r_lgtor-low = w_disp_head-lgtor.
append r_lgtor.
endloop.
print the end of day manifest
perform print_eod_manifest tables r_lgtor.
when 'REFR'. "Refresh
refresh display
w_sy_repid = sy-repid.
call function 'RS_REFRESH_FROM_SELECTOPTIONS'
exporting
curr_report = w_sy_repid
tables
selection_table = seltab.
exceptions
not_found = 1
no_report = 2
others = 3.
-
ALV Hierarchy display: How to get rid of the bullets ?
Hi All,
I am using Web dypro ALV to display my data, and I use ALV display type hierarchy. When I expand the parent node in my hierarchy column, I get bullets in my lower level rows in the hierarchy column( this is the standard hierarchical ALV display). Is it possible to override these bullets ? I want to have a link to action element instead of the bullets in that column(for the lower level rows). If this is not possible, then atleast I would like to have an empty column with no text instead of the bullets. Could any one of you please help me ?
Thanks and Best Regards,
Viqar Ali.Hi jagruti,
It is very simple to display a Hierarchical ALV. Just do the following:
lr_column = l_value->if_salv_wd_column_settings~get_column( 'COLUMN_NAME' ).
For hierarchical column display: Set column as hierarchy column
lr_column->if_salv_wd_column_hierarchy~set_hierarchy_column( abap_true ).
Use display type hierarchical for the table.
l_value->if_salv_wd_table_settings~set_display_type( if_salv_wd_c_table_settings=>display_type_hierarchy ).
This is sufficient coding to display the ALV as a hierarchy.
However, my problem is that when I display the ALV as a hierarchy, I get bullets in the hierarchy column in my lower level rows on expanding the parent node. I wanted to know if it is possible to get rid of the bullets.
Thanks and Best Regards,
Viqar Ali. -
Expanding Web DynPro ALV Hierarchy
Good day experts,
Is it possible to default the hierarchy display on a web dynpro ALV to EXPANDED?
Regards,
Johan Kriek.Hi,
Check out this link -
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/3e/904b2624534e0db707c7314a5e1e9d/frameset.htm
Use this method of the CL_SALV_WD_CONFIG_TABLE IF_SALV_WD_TABLE_HIERARCHYSET_EXPANDED to show them in expanded mode.
Regards,
Lekha. -
Hi folks,
i have an wd abap alv with table mode hierarchy, but i want to show the values in the non-hierarchy fields at the hierarchy-level.
Is this not possible with WD ALV, with normal Table Control in WD Abap this is possible.
kind regards,
oliverHi Jagruti,
it's kind of simple, you just have to do 2 things:
A) identify the table as hierarchy table:
wd_this->go_table is the reference to wd alv object:
wd_this->go_table->if_salv_wd_table_settings~set_display_type( if_salv_wd_c_table_settings=>display_type_hierarchy ).
B) mark the columns you want to have as nodes with following statement:
ls_col is reference to the column!
ls_col-r_column->if_salv_wd_column_hierarchy~set_hierarchy_column( value = abap_true ).
oliver -
hi .. Abaper~
I have a question.
I'd like to use the hierarchy header in ALV.
For example.
--no | name -| - part--
|
| -
| position | subpart---- |
1|- jake---|-senier -|accounting--|
2|miky|-junier---|recruting-----|
isn't it possible?
please.. help ..Hi Jake, the current ALV tool does not allow for multi line headers for the columns.
Regards,
RIch Heilman
Maybe you are looking for
-
Values from a java archive file that uses Coherence are null
This is essentially the details of my project. Check the values in andrew's coherence cluster. Checkign the values in the stats class. z:\javaclasses\stats.jar Some sample code: -- initialize /* start the stats class (the fields you want to look) */
-
Infotype authorizations at Company Code level
The project I am working on has two company codes 1000 & 1100. The user requirement is that a person working in one company should be able to make changes only to employee data of employee's in his/her company and to have only read authorizations fo
-
Local storage is low but after i free up lots of space i still cannot install an app
I have tried to install the Fifa 13 app on my ipod but keep getting a message saying there is not enough available local storage. I have deleted lots of other apps etc and my available storage is 4.1 GB but I still keep getting the same message when
-
How can we give two name for a single material ??
Hi friends how can we give two name for a single material ?? e.g.. if single material is sold to different customer by different names then how can we do that ??
-
SmartForms displayed as PDF in Portal
Hi, We have implemented a new travel form using SmartForms and display it as PDF in Portal. Everything is fine except when you maximize the window, the PDF from is only half the screen. It does not expand to full screen. Does anyone know how to ex