Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Report Not showing result

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

Tags:
Former Member
Not what you were looking for? View more on this topic or Ask a question