Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Report Not showing result

Former Member
0 Kudos

Hi!

I am unable to get the result for my one of the item as checkbox. Other two are working properly .Please check and let me know wheres the problem please.

----


***INCLUDE ZSD_CONTRACT_LIST_T01_RENTAL1 .

----


TABLES: vbak, vbap, wbrk, zsdsched,vbkd, fplt, fpla, tvlvt.

TYPE-POOLS: slis.

data: BEGIN OF gt_report occurs 0,

vbeln LIKE vbak-vbeln, "Sales Document

posnr LIKE vbap-posnr, "Item

ernam LIKE vbak-ernam, "Created by

erdat LIKE vbak-erdat, "Created on

audat LIKE vbak-audat, "Document Date

vbtyp LIKE vbak-vbtyp, "SD document category

auart LIKE vbak-auart, "Sales Document type

vkorg LIKE vbak-vkorg, "Sales Org

vtweg LIKE vbak-vtweg, "Distribution Channel

spart LIKE vbak-spart, "Division

vkbur LIKE vbak-vkbur, "Sales Office

guebg LIKE vbak-guebg, "Valid from date

gueen LIKE vbak-gueen, "Valid to date kunnrt LIKE kna1-name1, "Sold-to Name

  • kunwet LIKE kna1-name1, "Ship-to Name

  • kunnrt LIKE kna1-name1, "Sold-to Name

  • kunret LIKE kna1-name1, "Bill-to Name

kunnr LIKE vbak-kunnr, "Sold-to party

kunnrt LIKE kna1-name1, "Sold-to Name

kvgr4 LIKE vbak-kvgr4, "Territory

matnr LIKE vbap-matnr, "Material

arktx LIKE vbap-arktx, "Material Short Text

charg LIKE vbap-charg, "Batch

matkl LIKE vbap-matkl, "Material Group

pstyv LIKE vbap-pstyv, "Item Category

zmeng LIKE vbap-zmeng, "Target Quantity

zieme LIKE vbap-zieme, "Target Unit

kdmat LIKE vbap-kdmat, "Customer Material Number

werks LIKE vbap-werks, "Plant

lgort LIKE vbap-lgort, "Storage Location

vstel LIKE vbap-vstel, "Shipping Point

route LIKE vbap-route, "Route

netpr LIKE vbap-netpr, "Net Price

kpein LIKE vbap-kpein, "Condition Price Unit

kmein LIKE vbap-kmein, "Condition Unit

shkzg LIKE vbap-shkzg, "Returns Item

oidrc LIKE vbap-oidrc, "DRC Code

kunwe LIKE vbap-oid_ship, "Ship-to

aufnr LIKE vbap-aufnr, "Order Number

vkaus LIKE vbap-vkaus, "Usage

kunwet LIKE kna1-name1, "Ship-to Name

zzwprofid LIKE vbap-zzwprofid, "Waste Profile ID

kunre LIKE wbrk-kunre, "Bill-to

kunret LIKE kna1-name1, "Bill-to Name

addl_schd LIKE icon-id, "Push Button For addl line

datab LIKE zsdsched-datab, "Valid-From Date

datbi LIKE zsdsched-datbi, "Valid To Date

zschdfreq LIKE zsdsched-zschdfreq, "Contract schedule frequency

frequency LIKE zsdsched-frequency, "Frequency

monday LIKE zsdsched-monday, "Mondays

tuesday LIKE zsdsched-tuesday, "Tuesdays

wednesday LIKE zsdsched-wednesday, "Wednesdays

thursday LIKE zsdsched-thursday, "Thursdays

friday LIKE zsdsched-friday, "Fridays

saturday LIKE zsdsched-saturday, "Saturdays

sunday LIKE zsdsched-sunday, "Sundays

dzieme LIKE zsdsched-dzieme, "Target quantity UoM

comments LIKE zsdsched-comments, "Comments

END OF gt_report.

data: Begin of gt_report1 occurs 0,

fksaf LIKE fplt-fksaf,

afdat LIKE fplt-afdat,

fakwr LIKE fplt-fakwr,

fkdat LIKE fplt-fkdat,

nfdat LIKE fplt-nfdat,

fpart LIKE fpla-fpart,

bedat LIKE fpla-bedat,

endat LIKE fpla-endat,

horiz LIKE fpla-horiz,

bezei LIKE tvlvt-bezei,

vbeln LIKE vbak-vbeln,

erdat LIKE vbak-erdat,

ernam LIKE vbak-ernam,

guebg LIKE vbak-guebg,

gueen LIKE vbak-gueen,

auart LIKE vbak-auart,

kunnr LIKE vbak-kunnr,

kvgr4 LIKE vbak-kvgr4,

vkbur LIKE vbak-vkbur,

vkorg LIKE vbak-vkorg,

vtweg LIKE vbak-vtweg,

vbtyp LIKE vbak-vbtyp,

name1 LIKE kna1-name1,

pstyv LIKE vbap-pstyv,

matnr LIKE vbap-matnr,

werks LIKE vbap-werks,

oid_ship LIKE vbap-oid_ship,

kpein LIKE vbap-kpein,

kmein LIKE vbap-kmein,

netpr LIKE vbap-netpr,

kdmat LIKE vbap-kdmat,

posnr LIKE vbap-posnr,

matkl LIKE vbap-matkl,

aufnr LIKE vbap-aufnr,

vkaus LIKE vbap-vkaus,

route LIKE vbap-route,

kunre LIKE wbrk-kunre, "Bill-to

kunwe LIKE vbap-oid_ship, "Ship-to

kunwet LIKE kna1-name1, "Ship-to Name

kunnrt LIKE kna1-name1, "Sold-to Name

kunret LIKE kna1-name1, "Bill-to Name

End of gt_report1.

data: gs_report LIKE LINE OF gt_report,

gs_report1 LIKE LINE OF gt_report1,

gt_sched TYPE TABLE OF zsdsched,

gt_sched_tmp TYPE TABLE OF zsdsched,

gs_sched TYPE zsdsched,

gt_sel LIKE gt_report OCCURS 0,

gt_sel1 LIKE gt_report1 OCCURS 0,

gt_vbpa TYPE TABLE OF vbpa,

gs_vbpa TYPE vbpa,

gv_auart TYPE auart,

gv_counter TYPE i.

**-- ALV variables

DATA: ls_fieldcat TYPE slis_fieldcat_alv, "Field Catalog list

gt_fieldcat TYPE slis_t_fieldcat_alv, "Field Catalog

ls_sort TYPE slis_sortinfo_alv, "Sorting list

gt_sort TYPE slis_t_sortinfo_alv, "Sort

gs_layout TYPE slis_layout_alv, "List Layout

gs_variant TYPE disvariant, "Display Variant

gv_repid LIKE sy-repid,

gv_save(1) TYPE c,

ls_fieldcat1 TYPE slis_fieldcat_alv, "Field Catalog list

gt_fieldcat1 TYPE slis_t_fieldcat_alv, "Field Catalog

ls_sort1 TYPE slis_sortinfo_alv, "Sorting list

gt_sort1 TYPE slis_t_sortinfo_alv, "Sort

gs_layout1 TYPE slis_layout_alv, "List Layout

gs_variant1 TYPE disvariant, "Display Variant

gv_repid1 LIKE sy-repid,

gv_exit(1) TYPE c.

CONSTANTS: gc_a TYPE c VALUE 'A',

gc_g TYPE c VALUE 'G',

gc_re(2) TYPE c VALUE 'RE'.

  • Screen-control Variables

CONTROLS:

tctrl_sched TYPE TABLEVIEW USING SCREEN 1010. " Schedule lines.

&----


*& Report ZSD_CONTRACT_LIST

*&

&----


*& Created on: January 21, 2007

*& Description: List of Contracts - ALV

&----


REPORT zsd_contract_list_rental1.

INCLUDE zsd_contract_list_t01_rental1.

----


  • Selection Screen

----


SELECTION-SCREEN BEGIN OF BLOCK m1 WITH FRAME TITLE text-t01.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t02.

SELECT-OPTIONS: s_vkorg FOR vbak-vkorg MEMORY ID vko,

s_vtweg FOR vbak-vtweg MEMORY ID vtw,

s_spart FOR vbak-spart MEMORY ID spa,

s_vkbur FOR vbak-vkbur MEMORY ID vkb.

SELECTION-SCREEN SKIP 1.

SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,

s_erdat FOR vbak-erdat,

s_ernam FOR vbak-ernam,

s_guebg FOR vbak-guebg,

s_gueen FOR vbak-gueen,

s_auart FOR gv_auart MEMORY ID vta

MATCHCODE OBJECT h_vakz,

s_fkarv FOR fplt-fkarv.

SELECTION-SCREEN SKIP 1.

SELECT-OPTIONS:

s_kunnr FOR vbak-kunnr,

s_kunwe FOR vbap-oid_ship,

s_kunre FOR wbrk-kunre.

SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t03.

SELECT-OPTIONS: s_werks FOR vbap-werks MEMORY ID wrk,

s_lgort FOR vbap-lgort MEMORY ID lag,

s_vstel FOR vbap-vstel MEMORY ID vst,

s_route for vbap-route,

s_matnr FOR vbap-matnr.

SELECTION-SCREEN END OF BLOCK b2.

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t04.

PARAMETERS: p_varia TYPE disvariant-variant MEMORY ID wrk,

p_all AS CHECKBOX DEFAULT 'X',

p_group AS CHECKBOX DEFAULT 'X',

p_rental AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN END OF BLOCK b3.

SELECTION-SCREEN END OF BLOCK m1.

----


  • Start of Selection

----


START-OF-SELECTION.

PERFORM get_data.

----


  • Display ALV

----


END-OF-SELECTION.

IF gt_report[] IS INITIAL.

MESSAGE s419(brain).

ELSE.

PERFORM create_alv.

ENDIF.

----


  • AT SELECTION-SCREEN ON VALUE-REQUEST *

----


AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.

PERFORM f01_f4_variant CHANGING p_varia.

&----


*& Form get_data

&----


  • text

----


FORM get_data .

  • select the appropriate rental data.

IF p_rental IS NOT INITIAL AND ( ( p_all IS INITIAL ) AND ( p_group IS INITIAL ) ).

SELECT avbeln aerdat aernam aaudat avbtyp aauart a~vkorg

avtweg aspart avkbur aguebg agueen akunnr a~kvgr4

bpstyv bmatnr bwerks boid_ship bkpein bkmein

bnetpr bkdmat bposnr bmatkl baufnr bvkaus b~route

dbezei efkarv eafdat efakwr efkdat enfdat e~fksaf

ffpart fbedat fendat fhoriz flodat ftndat b~oid_ship AS kunwe

INTO CORRESPONDING FIELDS OF TABLE gt_sel1

FROM vbak AS a

INNER JOIN vbap AS b ON avbeln = bvbeln

  • INNER JOIN vbpa as c ON avbeln = cvbeln

INNER JOIN vbkd AS g ON avbeln = gvbeln

INNER JOIN fplt AS e ON gfplnr = efplnr

INNER JOIN fpla AS f ON efplnr = ffplnr

INNER JOIN tvlvt AS d ON bvkaus = dabrvw

WHERE a~vbeln IN s_vbeln

AND a~erdat IN s_erdat

AND a~vbtyp = gc_g

AND a~ernam IN s_ernam

AND a~vkorg IN s_vkorg

AND a~vtweg IN s_vtweg

AND a~spart IN s_spart

AND a~vkbur IN s_vkbur

AND a~guebg IN s_guebg

AND a~gueen IN s_gueen

AND a~auart IN s_auart

AND a~kunnr IN s_kunnr

AND b~oid_ship IN s_kunwe

AND b~werks IN s_werks

AND b~lgort IN s_lgort

AND b~vstel IN s_vstel

and b~route in s_route

AND b~matnr IN s_matnr

AND e~fkarv IN s_fkarv

AND e~fksaf = 'A'

OR e~fksaf = 'B'.

sort gt_sel1.

*ENDIF.

IF NOT gt_sel1[] IS INITIAL.

  • Get Bill-to Party's for Item Lines

SELECT vbeln posnr parvw kunnr INTO CORRESPONDING FIELDS OF TABLE gt_vbpa

FROM vbpa

FOR ALL ENTRIES IN gt_sel1

WHERE vbeln = gt_sel1-vbeln

AND parvw = gc_re.

  • Loop through captured data for additional information

LOOP AT gt_sel1 INTO gs_report1.

  • Find the bill-to party

READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report1-vbeln

posnr = gs_report1-posnr

parvw = gc_re.

IF sy-subrc <> 0.

READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report1-vbeln

parvw = gc_re.

CHECK sy-subrc = 0 AND gs_vbpa-kunnr IN s_kunre.

ELSE.

CHECK gs_vbpa-kunnr IN s_kunre.

ENDIF.

gs_report1-kunre = gs_vbpa-kunnr.

  • Get the Customer's Name

gs_report1-kunnrt = zcl_kna1=>get_name1( itp_kunnr = gs_report1-kunnr ).

gs_report1-kunwet = zcl_kna1=>get_name1( itp_kunnr = gs_report1-kunwe ).

gs_report1-kunret = zcl_kna1=>get_name1( itp_kunnr = gs_report1-kunre ).

  • Get the scheduling lines for the item line.

CLEAR gv_counter.

APPEND gs_report1 TO gt_report1.

ENDLOOP.

DELETE ADJACENT DUPLICATES FROM gt_report1.

*ENDIF.

ELSE.

IF ( ( p_all IS NOT INITIAL ) OR ( p_group IS NOT INITIAL ) ) AND p_rental IS INITIAL.

  • Select the appropriate contract data.

SELECT a~vbeln a~erdat a~ernam a~audat a~vbtyp a~auart a~vkorg

a~vtweg a~spart a~vkbur a~guebg a~gueen a~kunnr a~kvgr4

b~posnr b~matnr b~charg b~matkl b~arktx b~pstyv b~zmeng

b~zieme b~kdmat b~werks b~lgort b~vstel b~netpr b~kpein

b~kmein b~shkzg b~oid_extbol b~oid_miscdl b~oidrc b~oid_ship AS kunwe

b~zzwprofid c~datbi c~datab b~route

  • baufnr bvkaus d~bezei

INTO CORRESPONDING FIELDS OF TABLE gt_sel

FROM vbak AS a

INNER JOIN vbap AS b ON a~vbeln = b~vbeln

  • INNER JOIN tvlvt AS d ON bvkaus = dabrvw

LEFT OUTER JOIN zsdsched AS c ON b~vbeln = c~vbeln AND

b~posnr = c~posnr

WHERE a~vbeln IN s_vbeln

AND a~erdat IN s_erdat

AND a~vbtyp = gc_g

AND a~ernam IN s_ernam

AND a~vkorg IN s_vkorg

AND a~vtweg IN s_vtweg

AND a~spart IN s_spart

AND a~vkbur IN s_vkbur

AND a~guebg IN s_guebg

AND a~gueen IN s_gueen

AND a~auart IN s_auart

AND a~kunnr IN s_kunnr

AND b~oid_ship IN s_kunwe

AND b~werks IN s_werks

AND b~lgort IN s_lgort

AND b~vstel IN s_vstel

and b~route in s_route

AND b~matnr IN s_matnr.

SORT gt_sel.

ENDIF.

IF NOT gt_sel[] IS INITIAL.

  • Get Bill-to Party's for Item Lines

SELECT vbeln posnr parvw kunnr INTO CORRESPONDING FIELDS OF TABLE gt_vbpa

FROM vbpa

FOR ALL ENTRIES IN gt_sel

WHERE vbeln = gt_sel-vbeln

AND parvw = gc_re.

endif.

  • Select the remaining records from the ZSDSCHED Table.

IF p_group IS NOT INITIAL.

SELECT * FROM zsdsched

INTO TABLE gt_sched

FOR ALL ENTRIES IN gt_sel

WHERE vbeln = gt_sel-vbeln

AND posnr = gt_sel-posnr.

SORT gt_sched.

ENDIF.

  • Loop through captured data for additional information

LOOP AT gt_sel INTO gs_report.

  • Find the bill-to party

READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln

posnr = gs_report-posnr

parvw = gc_re.

IF sy-subrc <> 0.

READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln

parvw = gc_re.

CHECK sy-subrc = 0 AND gs_vbpa-kunnr IN s_kunre.

ELSE.

CHECK gs_vbpa-kunnr IN s_kunre.

ENDIF.

gs_report-kunre = gs_vbpa-kunnr.

  • Get the Customer's Name

gs_report-kunnrt = zcl_kna1=>get_name1( itp_kunnr = gs_report-kunnr ).

gs_report-kunwet = zcl_kna1=>get_name1( itp_kunnr = gs_report-kunwe ).

gs_report-kunret = zcl_kna1=>get_name1( itp_kunnr = gs_report-kunre ).

  • Get the scheduling lines for the item line.

CLEAR gv_counter.

IF NOT p_group IS INITIAL.

  • If we are grouping the lines add the icon button.

LOOP AT gt_sched INTO gs_sched WHERE vbeln = gs_report-vbeln

AND posnr = gs_report-posnr.

IF gv_counter > 0.

gs_report-addl_schd = '@1E@'.

CONTINUE.

ENDIF.

MOVE-CORRESPONDING gs_sched TO gs_report.

ADD 1 TO gv_counter.

ENDLOOP.

ELSE.

  • Otherwise get the rest of the schedule information

READ TABLE gt_sched INTO gs_sched

WITH KEY vbeln = gs_report-vbeln

posnr = gs_report-posnr

datbi = gs_report-datbi

datab = gs_report-datab.

IF sy-subrc = 0.

MOVE-CORRESPONDING gs_sched TO gs_report.

ENDIF.

ENDIF.

APPEND gs_report TO gt_report.

ENDLOOP.

  • Remove any duplicates from the reporting table

DELETE ADJACENT DUPLICATES FROM gt_report.

  • If Show all records is initial, delete non-scheduled lines (ex. Sub-items)

IF p_all IS INITIAL.

DELETE gt_report WHERE datbi = 0

AND datab = 0.

ENDIF.

endif.

endif.

ENDFORM. " get_data

&----


*& Form create_alv

&----


  • text

----


FORM create_alv .

  • if ( ( p_all is not initial ) or ( p_group is not initial ) ) and p_rental is initial.

PERFORM initialize_fieldcat USING gt_fieldcat[].

PERFORM populate_layout CHANGING gs_layout

gs_variant.

PERFORM populate_sort USING gt_sort[].

PERFORM display_alv_report.

  • else.

  • if p_rental is not initial and ( ( p_all is initial ) and ( p_group is initial ) ).

*

    • PERFORM initialize_fieldcat1 USING gt_fieldcat1[].

  • PERFORM populate_layout1 CHANGING gs_layout1

  • gs_variant1.

  • PERFORM populate_sort1 USING gt_sort1[].

  • PERFORM display_alv_report1.

*

*endif.

*endif.

ENDFORM. " create_alv

&----


*& Form initialize_fieldcat

&----


  • Get and enhance the field catalog data

----


  • -->L_FIELDCAT[] text

----


FORM initialize_fieldcat USING l_fieldcat TYPE slis_t_fieldcat_alv.

IF p_rental IS NOT INITIAL .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

i_program_name = 'ZSD_CONTRACT_LIST_RENTAL1'

i_internal_tabname = 'GT_REPORT1'

i_inclname = 'ZSD_CONTRACT_LIST_T01_RENTAL1'

CHANGING

ct_fieldcat = l_fieldcat

EXCEPTIONS

inconsistent_interface = 1

program_error = 2

OTHERS = 3.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'VBELN'.

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Contract'.

ls_fieldcat-hotspot = 'X'.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNNRT'.

ls_fieldcat-seltext_s =

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sold-to Name'.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNWET'.

ls_fieldcat-seltext_s =

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Ship-to Name'.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNRET'.

ls_fieldcat-seltext_s =

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Bill-to Name'.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'ADDL_SCHD'.

IF NOT p_group IS INITIAL.

ls_fieldcat-seltext_s = 'Schd'.

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Additional Scheduling Lines'.

ls_fieldcat-icon = 'X'.

CLEAR: ls_fieldcat-key,

ls_fieldcat-ref_fieldname,

ls_fieldcat-ref_tabname,

ls_fieldcat-reptext_ddic,

ls_fieldcat-ddic_outputlen.

ls_fieldcat-hotspot = 'X'.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

ELSE.

DELETE l_fieldcat INDEX sy-tabix.

ENDIF.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATAB'.

ls_fieldcat-seltext_s = 'Schd From'.

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. From Date'.

CLEAR: ls_fieldcat-key.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

READ TABLE l_fieldcat INTO ls_fieldcat1 WITH KEY fieldname = 'DATBI'.

ls_fieldcat-seltext_s = 'Schd To'.

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. To Date'.

CLEAR: ls_fieldcat-key.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

ELSE.

IF p_rental IS INITIAL.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

i_program_name = 'ZSD_CONTRACT_LIST_RENTAL1'

i_internal_tabname = 'GT_REPORT'

i_inclname = 'ZSD_CONTRACT_LIST_T01_RENTAL1'

CHANGING

ct_fieldcat = l_fieldcat

EXCEPTIONS

inconsistent_interface = 1

program_error = 2

OTHERS = 3.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'VBELN'.

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Contract'.

ls_fieldcat-hotspot = 'X'.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNNRT'.

ls_fieldcat-seltext_s =

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sold-to Name'.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNWET'.

ls_fieldcat-seltext_s =

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Ship-to Name'.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNRET'.

ls_fieldcat-seltext_s =

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Bill-to Name'.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'ADDL_SCHD'.

IF NOT p_group IS INITIAL.

ls_fieldcat-seltext_s = 'Schd'.

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Additional Scheduling Lines'.

ls_fieldcat-icon = 'X'.

CLEAR: ls_fieldcat-key,

ls_fieldcat-ref_fieldname,

ls_fieldcat-ref_tabname,

ls_fieldcat-reptext_ddic,

ls_fieldcat-ddic_outputlen.

ls_fieldcat-hotspot = 'X'.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

ELSE.

DELETE l_fieldcat INDEX sy-tabix.

ENDIF.

READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATAB'.

ls_fieldcat-seltext_s = 'Schd From'.

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. From Date'.

CLEAR: ls_fieldcat-key.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

READ TABLE l_fieldcat INTO ls_fieldcat1 WITH KEY fieldname = 'DATBI'.

ls_fieldcat-seltext_s = 'Schd To'.

ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. To Date'.

CLEAR: ls_fieldcat-key.

MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.

ENDIF.

ENDIF.

ENDFORM. " initialize_fieldcat

&----


*& Form populate_layout

&----


  • text

----


  • <--GS_LAYOUT

  • <--GS_VARIANT

----


FORM populate_layout CHANGING gs_layout TYPE slis_layout_alv

gs_variant TYPE disvariant.

gs_layout-colwidth_optimize = 'X'.

gs_layout-allow_switch_to_list = 'X'.

gs_layout-zebra = 'X'.

gs_variant-report = sy-repid.

ENDFORM. " populate_layout

&----


*& Form populate_sort

&----


  • text

----


  • -->l_SORT[] text

----


FORM populate_sort USING l_sort TYPE slis_t_sortinfo_alv.

ENDFORM. " populate_sort

&----


*& Form display_alv_report

&----


*

----


FORM display_alv_report .

gv_repid = sy-repid.

IF p_rental IS INITIAL.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

i_callback_program = gv_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

i_callback_user_command = 'USER_COMMAND'

i_structure_name = 'GT_REPORT'

is_layout = gs_layout

it_fieldcat = gt_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

it_sort = gt_sort

  • IT_FILTER =

  • IS_SEL_HIDE =

i_default = 'X'

i_save = gc_a

is_variant = gs_variant

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = gt_report

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.

  • ENDIF.

ELSE.

IF p_rental IS NOT INITIAL.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

i_callback_program = gv_repid

  • I_CALLBACK_PF_STATUS_SET = ' '

i_callback_user_command = 'USER_COMMAND'

i_structure_name = 'GT_REPORT1'

is_layout = gs_layout

it_fieldcat = gt_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

it_sort = gt_sort

  • IT_FILTER =

  • IS_SEL_HIDE =

i_default = 'X'

i_save = gc_a

is_variant = gs_variant

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = GT_REPORT1

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.

endif.

endif.

ENDFORM. " display_alv_report

*

*

*

*

&----


*& Form initialize_fieldcat1

&----


  • Get and enhance the field catalog data for rental fields

----


  • -->L_FIELDCAT[] text

----


*FORM initialize_fieldcat1 USING l_fieldcat1 TYPE slis_t_fieldcat_alv.

**if ***

    • CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

    • EXPORTING

    • i_program_name = 'ZSD_CONTRACT_LIST_rental1'

    • i_internal_tabname = 'GT_SEL1'

    • i_inclname = 'ZSD_CONTRACT_LIST_T01_rental1'

    • CHANGING

    • ct_fieldcat = l_fieldcat1

    • EXCEPTIONS

    • inconsistent_interface = 1

    • program_error = 2

    • OTHERS = 3.

*

**else.

    • CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

    • EXPORTING

    • i_program_name = 'ZSD_CONTRACT_LIST_rental1'

    • i_internal_tabname = 'GT_SEL1'

    • i_inclname = 'ZSD_CONTRACT_LIST_T01_rental1'

    • CHANGING

    • ct_fieldcat = l_fieldcat1

    • EXCEPTIONS

    • inconsistent_interface = 1

    • program_error = 2

    • OTHERS = 3.

**

***endfi.

*

*ENDFORM. " initialize_fieldcat

&----


*& Form populate_layout

&----


  • text

----


  • <--GS_LAYOUT

  • <--GS_VARIANT

----


*FORM populate_layout1 CHANGING gs_layout1 TYPE slis_layout_alv

  • gs_variant1 TYPE disvariant.

  • gs_layout1-colwidth_optimize = 'X'.

  • gs_layout1-allow_switch_to_list = 'X'.

  • gs_layout1-zebra = 'X'.

*

  • gs_variant1-report = sy-repid.

*ENDFORM. " populate_layout

**&----


***& Form populate_sort

**&----


      • text

**----


      • -->l_SORT[] text

**----


*FORM populate_sort1 USING l_sort TYPE slis_t_sortinfo_alv.

*

*ENDFORM. " populate_sort

**&----


***& Form display_alv_report

**&----


***

**----


*FORM display_alv_report1 .

  • gv_repid = sy-repid.

  • if p_rental is not initial and ( ( p_all is initial ) and ( p_group is initial ) ).

*

  • CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

  • EXPORTING

      • I_INTERFACE_CHECK = ' '

      • I_BYPASSING_BUFFER =

      • I_BUFFER_ACTIVE = ' '

  • i_callback_program = gv_repid

      • I_CALLBACK_PF_STATUS_SET = ' '

  • i_callback_user_command = 'USER_COMMAND'

  • i_structure_name = 'gt_sel1'

  • is_layout = gs_layout1

  • it_fieldcat = gt_fieldcat1

      • IT_EXCLUDING =

      • IT_SPECIAL_GROUPS =

  • it_sort = gt_sort1

      • IT_FILTER =

      • IS_SEL_HIDE =

  • i_default = 'X'

  • i_save = gc_a

  • is_variant = gs_variant1

      • IT_EVENTS =

      • IT_EVENT_EXIT =

      • IS_PRINT =

      • IS_REPREP_ID =

      • I_SCREEN_START_COLUMN = 0

      • I_SCREEN_START_LINE = 0

      • I_SCREEN_END_COLUMN = 0

      • I_SCREEN_END_LINE = 0

      • IMPORTING

      • E_EXIT_CAUSED_BY_CALLER =

      • ES_EXIT_CAUSED_BY_USER =

  • TABLES

  • t_outtab = gt_sel1

  • 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.

*endif.

*ENDFORM. " display_alv_report

&----


*& Form f01_f4_variant

&----


  • Get the Layout variant for the user.

----


FORM f01_f4_variant CHANGING c_variant TYPE disvariant-variant.

DATA: ls_variant TYPE disvariant,

l_exit TYPE char1.

ls_variant-report = sy-repid.

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'

EXPORTING

is_variant = ls_variant

i_save = 'A'

  • it_default_fieldcat =

IMPORTING

e_exit = l_exit

es_variant = ls_variant

EXCEPTIONS

not_found = 2.

IF sy-subrc = 2.

MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ELSE.

IF l_exit EQ space.

c_variant = ls_variant-variant.

ENDIF.

ENDIF.

ENDFORM. " f01_f4_variant

----


  • FORM USER_COMMAND *

----


  • --> R_UCOMM *

  • --> RS_SELFIELD *

----


FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

  • Check function code

CASE r_ucomm.

WHEN '&IC1'.

READ TABLE gt_report INTO gs_report INDEX rs_selfield-tabindex.

CHECK sy-subrc = 0.

CASE rs_selfield-fieldname.

WHEN 'VBELN'.

  • Set parameter ID for transaction screen field

CHECK NOT gs_report-vbeln IS INITIAL.

SET PARAMETER ID 'KTN' FIELD gs_report-vbeln.

CALL TRANSACTION 'VA43' AND SKIP FIRST SCREEN.

WHEN 'ADDL_SCHD'.

CHECK NOT gs_report-addl_schd IS INITIAL.

REFRESH gt_sched_tmp.

LOOP AT gt_sched INTO gs_sched

WHERE vbeln = gs_report-vbeln

AND posnr = gs_report-posnr.

APPEND gs_sched TO gt_sched_tmp.

ENDLOOP.

CHECK sy-subrc = 0.

CALL SCREEN '1010' STARTING AT 5 5.

ENDCASE.

ENDCASE.

ENDFORM. "user_command

&----


*& Module STATUS_1010 OUTPUT

&----


  • text

----


MODULE status_1010 OUTPUT.

SET PF-STATUS 'MAIN_1010'.

SET TITLEBAR '1010' WITH gs_report-vbeln gs_report-posnr.

ENDMODULE. " STATUS_1010 OUTPUT

&----


*& Module USER_COMMAND_1010 INPUT

&----


  • text

----


MODULE user_command_1010 INPUT.

CASE sy-ucomm.

WHEN 'BACK' OR 'CANC'.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE. " USER_COMMAND_1010 INPUT

6 REPLIES 6

Former Member
0 Kudos

Not quite sure if I got your request...

If what you want is to show one of the fields of the ALV list as a checkbox, you should flag the field named checkbox of the fieldcat record for the field you want that display form.

0 Kudos

Hi !

This report shows the schedule line items , group schedule line items and rental contact (billing plan) lines when particular checkbox is checked. The checkboxs p_all(non-schedule line) , p_group(group schedule line items) are working in my above alv report and showing result but unfortunately when p_rental is checked it dosent give me result , it says no data selected. This when checked has to show result based on a different set of selections as I have done, but its not shwoing me the result .

Kindly help please.

Thanks

0 Kudos

Hi!

Is there a solution to it or do I have to create a separate report altogether to get the result for my billing plan lines.

0 Kudos

Hi!

I want , that when the checkbox p_rental is checked and report executed , it will show up the result , exactly as when p_all or p_group is checked and executed. Is it possible to get an answer to this ALV problem please.

Thanks

Sm1tje
Active Contributor
0 Kudos

Which checkbox (p_group, p_all or p_rental) is not working????

Do not expect people to answer your question, if you're not providing all nessary data!!!

Former Member
0 Kudos

Hi!

Actually the p_rental check box when clicked dosent give any result, other two p_all and p_group works properly

Thanks