Application Development and Automation 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: 
Read only

ALV

Former Member
0 Likes
587

Hi ,

Iam working on a report where the output is a alv grid when i select a few records from the grid and run atp check the error/success tables should be displayed as a normal report output ( not ALV) .Here when i run the ATP check iam assuming that the output would display in std screen( like secondary list) .But even after running the ATP ckeck its on the same screen instead ( no output displayed) .My question is whether we can diaplay the output as normal report after ALV report output( in the same program). Below is my code.Please help.

REPORT y21316_atp_check_rel NO STANDARD PAGE HEADING

MESSAGE-ID ysd.

----


  • T A B L E S

----


TABLES: vbak, "Sales Document: Header Data

knvp,

kna1,

vbap,

vbpa,

vbep. " Sales Document: Schedule Line Data

----


  • T Y P E - P O O L S

----


TYPE-POOLS: slis. "Global Type pool for ALV display

----


  • INTERNAL TABLES

----


DATA: ls_fieldcat TYPE slis_fieldcat_alv, "Field Catalog list

tb_orders_cat TYPE slis_t_fieldcat_alv, "Field Catalog

tb_outputcat type slis_t_fieldcat_alv,

tb_events type slis_t_event,

ref_grid TYPE REF TO cl_gui_alv_grid,

t_events LIKE LINE OF tb_events.

*...MARKED TABLE

data: begin of marked_so occurs 0,

vbeln like vbak-vbeln,

posnr like vbap-posnr,

erdat like vbap-erdat,

lprio like vbap-lprio,

matnr like vbap-matnr,

werks like vbap-werks,

end of marked_so.

data: s_sel , g_answer, g_total_vbeln type i.

*-- Sort criteria

DATA: tb_sort TYPE fieldname OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF tb_sort_seq OCCURS 0,

value LIKE f4uhlp-value,

END OF tb_sort_seq.

*-- Order details

DATA: BEGIN OF tb_orders OCCURS 0,

checkbox TYPE CHECKBOX,

vbeln LIKE vbak-vbeln, "Sales document

posnr LIKE vbap-posnr, "Sales document item

auart LIKE vbak-auart, "Doc type

erdat LIKE vbap-erdat, "Date on which the record was created

lprio LIKE vbap-lprio, "Delivery priority

matnr LIKE vbap-matnr, "Material number

werks LIKE vbap-werks, "Plant

shdat LIKE sy-datum, "Estimated Shipping date.

END OF tb_orders.

  • customer details.

DATA: BEGIN OF tb_customers OCCURS 0,

kunnr LIKE knvp-kunnr,

name1 LIKE kna1-kunnr,

END OF tb_customers.

DATA: BEGIN OF tb_cust1 OCCURS 0,

kunnr LIKE kna1-kunnr,

END OF tb_cust1.

*-- Schedule line details

DATA: BEGIN OF tb_vbep OCCURS 0,

vbeln LIKE vbep-vbeln, "Sales document

posnr LIKE vbep-posnr, "Sales document item

wadat LIKE vbep-wadat, "Goods issue date

mbdat LIKE vbep-mbdat, "Material Avail date

END OF tb_vbep.

*-- ATP Error table

DATA: BEGIN OF tb_atp_error_tab OCCURS 0,

vbeln LIKE vbak-vbeln,"Sales document

posnr LIKE vbap-posnr,

message(100),

END OF tb_atp_error_tab.

*-- ATP Success table

DATA: BEGIN OF tb_atp_succ_tab OCCURS 0,

vbeln LIKE vbak-vbeln,

posnr LIKE vbap-posnr,

message(100) TYPE c,

END OF tb_atp_succ_tab.

*-- BAPI Error table

DATA: BEGIN OF tb_bapi_error_tab OCCURS 0,

vbeln LIKE vbak-vbeln,"Sales document

message(100),

END OF tb_bapi_error_tab.

*-- BAPI Success table

DATA: BEGIN OF tb_bapi_succ_tab OCCURS 0,

vbeln LIKE vbak-vbeln,

message(50) TYPE c,

END OF tb_bapi_succ_tab.

DATA: x_order_header_in TYPE bapisdh1,

x_order_header_inx TYPE bapisdh1x,

tb_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE.

----


  • V A R I A B L E S

----


DATA: g_repid LIKE sy-repid.

DATA: gs_layout TYPE slis_layout_alv.

DATA: g_okcode like sy-ucomm.

----


  • S E L E C T I O N S C R E E N

----


  • Selection criteria.

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-s01.

SELECTION-SCREEN SKIP.

SELECT-OPTIONS: s_auart FOR vbak-auart OBLIGATORY, " Document type

s_vkorg FOR vbak-vkorg OBLIGATORY, " Sales Organisation

s_vtweg FOR vbak-vtweg, " Dist Channel

s_spart FOR vbak-spart, " Division

s_audat FOR vbak-audat, " Document date

s_mbdat FOR vbep-mbdat, " Material Availability date

s_kukla FOR kna1-kukla, " customer Classification

s_lprio FOR vbap-lprio, " Delivery Priority

s_kunnr FOR kna1-kunnr, " Customer(Sold To/Ship To)

s_lifsk FOR vbak-lifsk . " Delivery Block

SELECTION-SCREEN SKIP.

SELECTION-SCREEN END OF BLOCK blk1.

  • Sort criteria.

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-s02.

PARAMETERS: p_saudat(02) TYPE n, " Sort-Order Creation Date

p_sshdat(02) TYPE n, " Sort-Estimated Shipping Date

p_slprio(02) TYPE n. " Sort-Delivery Priority

SELECTION-SCREEN SKIP.

SELECTION-SCREEN END OF BLOCK blk2.

INITIALIZATION.

v_repid = sy-repid.

PERFORM bulid_fieldcatlog.

PERFORM event_call.

PERFORM populate_event.

START-OF-SELECTION.

START-OF-SELECTION.

  • Get Data

PERFORM get_data.

PERFORM fill_field_catalog_vbap USING tb_orders_cat.

PERFORM build_events.

PERFORM display_data.

FORM user_command USING ucomm LIKE sy-ucomm

selfield TYPE slis_selfield .

CASE ucomm.

WHEN '&SEL' .

LOOP AT TB_ORDERS .

MOVE 'X' TO TB_ORDERS-CHECKBOX.

MODIFY TB_ORDERS.

ENDLOOP.

SELFIELD-REFRESH = 'X'.

PERFORM display_data.

WHEN '&BAK'.

CALL SELECTION-SCREEN 1000.

WHEN 'DESEL'.

LOOP AT TB_ORDERS.

MOVE ' ' TO TB_ORDERS-CHECKBOX.

MODIFY TB_ORDERS.

ENDLOOP.

PERFORM display_data.

WHEN '&ATP'.

data temp type ref to cl_gui_alv_grid.

CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'

  • EXPORTING

  • IR_SALV_FULLSCREEN_ADAPTER =

IMPORTING

  • ET_EXCLUDING =

E_REPID = g_repid

E_CALLBACK_PROGRAM = g_repid

  • E_CALLBACK_ROUTINE =

E_GRID = temp

  • ET_FIELDCAT_LVC =

  • ER_TRACE =

  • E_FLG_NO_HTML =

  • ES_LAYOUT_KKBLO =

  • ES_SEL_HIDE =

  • ET_EVENT_EXIT =

  • ER_FORM_TOL =

  • ER_FORM_EOL =

.

call method temp->check_changed_data.

perform get_marked_salesorders.

IF NOT MARKED_SO IS INITIAL.

perform redetermine_atp.

perform calling_bapi.

perform write_report.

FORM write_report.

  • perform fill_field_catalog_output using tb_outputcat.

SORT tb_atp_error_tab BY vbeln.

SORT tb_atp_succ_tab BY vbeln.

SORT tb_bapi_error_tab BY vbeln.

SORT tb_bapi_succ_tab BY vbeln.

write : sy-vline.

LOOP AT tb_atp_error_tab.

WRITE:/001(01) sy-vline,

002(15) tb_atp_error_tab-vbeln,

017(01) sy-vline,

018(15) tb_atp_error_tab-posnr,

033(01) sy-vline,

034(90) tb_atp_error_tab-message,

124(01) sy-vline.

ENDLOOP.

IF sy-subrc = 0.

ULINE /001(124).

NEW-PAGE.

ENDIF.

LOOP AT tb_atp_succ_tab.

WRITE:/001(01) sy-vline,

002(15) tb_atp_succ_tab-vbeln,

017(01) sy-vline,

018(15) tb_atp_succ_tab-posnr,

033(01) sy-vline,

034(90) tb_atp_succ_tab-message,

124(01) sy-vline.

ENDLOOP.

IF sy-subrc = 0.

ULINE /001(124).

NEW-PAGE.

ENDIF.

LOOP AT tb_bapi_error_tab.

WRITE:/001(01) sy-vline,

002(15) tb_bapi_error_tab-vbeln,

017(01) sy-vline,

034(90) tb_bapi_error_tab-message,

124(01) sy-vline.

ENDLOOP.

IF sy-subrc = 0.

ULINE /001(124).

NEW-PAGE.

ENDIF.

LOOP AT tb_bapi_succ_tab.

WRITE:/001(01) sy-vline,

002(15) tb_bapi_succ_tab-vbeln,

017(01) sy-vline,

034(90) tb_bapi_succ_tab-message,

124(01) sy-vline.

ENDLOOP.

IF sy-subrc = 0.

ULINE /001(124).

ENDIF.

ENDFORM. " WRITE_REPORT

ENDIF.

ENDCASE.

ENDFORM. "user_command

Hi ,

Iam working on a report where the output is a alv grid when i select a few records from the grid and run atp check the error/success tables should be displayed as a normal report output ( not ALV) .Here when i run the ATP check iam assuming that the output would display in std screen( like secondary list) .But even after running the ATP ckeck its on the same screen instead ( no output displayed) .My question is whether we can diaplay the output as normal report after ALV report output( in the same program). Below is my code.Please help.

REPORT y21316_atp_check_rel NO STANDARD PAGE HEADING

MESSAGE-ID ysd.

----


  • T A B L E S

----


TABLES: vbak, "Sales Document: Header Data

knvp,

kna1,

vbap,

vbpa,

vbep. " Sales Document: Schedule Line Data

----


  • T Y P E - P O O L S

----


TYPE-POOLS: slis. "Global Type pool for ALV display

----


  • INTERNAL TABLES

----


DATA: ls_fieldcat TYPE slis_fieldcat_alv, "Field Catalog list

tb_orders_cat TYPE slis_t_fieldcat_alv, "Field Catalog

tb_outputcat type slis_t_fieldcat_alv,

tb_events type slis_t_event,

ref_grid TYPE REF TO cl_gui_alv_grid,

t_events LIKE LINE OF tb_events.

*...MARKED TABLE

data: begin of marked_so occurs 0,

vbeln like vbak-vbeln,

posnr like vbap-posnr,

erdat like vbap-erdat,

lprio like vbap-lprio,

matnr like vbap-matnr,

werks like vbap-werks,

end of marked_so.

data: s_sel , g_answer, g_total_vbeln type i.

*-- Sort criteria

DATA: tb_sort TYPE fieldname OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF tb_sort_seq OCCURS 0,

value LIKE f4uhlp-value,

END OF tb_sort_seq.

*-- Order details

DATA: BEGIN OF tb_orders OCCURS 0,

checkbox TYPE CHECKBOX,

vbeln LIKE vbak-vbeln, "Sales document

posnr LIKE vbap-posnr, "Sales document item

auart LIKE vbak-auart, "Doc type

erdat LIKE vbap-erdat, "Date on which the record was created

lprio LIKE vbap-lprio, "Delivery priority

matnr LIKE vbap-matnr, "Material number

werks LIKE vbap-werks, "Plant

shdat LIKE sy-datum, "Estimated Shipping date.

END OF tb_orders.

  • customer details.

DATA: BEGIN OF tb_customers OCCURS 0,

kunnr LIKE knvp-kunnr,

name1 LIKE kna1-kunnr,

END OF tb_customers.

DATA: BEGIN OF tb_cust1 OCCURS 0,

kunnr LIKE kna1-kunnr,

END OF tb_cust1.

*-- Schedule line details

DATA: BEGIN OF tb_vbep OCCURS 0,

vbeln LIKE vbep-vbeln, "Sales document

posnr LIKE vbep-posnr, "Sales document item

wadat LIKE vbep-wadat, "Goods issue date

mbdat LIKE vbep-mbdat, "Material Avail date

END OF tb_vbep.

*-- ATP Error table

DATA: BEGIN OF tb_atp_error_tab OCCURS 0,

vbeln LIKE vbak-vbeln,"Sales document

posnr LIKE vbap-posnr,

message(100),

END OF tb_atp_error_tab.

*-- ATP Success table

DATA: BEGIN OF tb_atp_succ_tab OCCURS 0,

vbeln LIKE vbak-vbeln,

posnr LIKE vbap-posnr,

message(100) TYPE c,

END OF tb_atp_succ_tab.

*-- BAPI Error table

DATA: BEGIN OF tb_bapi_error_tab OCCURS 0,

vbeln LIKE vbak-vbeln,"Sales document

message(100),

END OF tb_bapi_error_tab.

*-- BAPI Success table

DATA: BEGIN OF tb_bapi_succ_tab OCCURS 0,

vbeln LIKE vbak-vbeln,

message(50) TYPE c,

END OF tb_bapi_succ_tab.

DATA: x_order_header_in TYPE bapisdh1,

x_order_header_inx TYPE bapisdh1x,

tb_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE.

----


  • V A R I A B L E S

----


DATA: g_repid LIKE sy-repid.

DATA: gs_layout TYPE slis_layout_alv.

DATA: g_okcode like sy-ucomm.

----


  • S E L E C T I O N S C R E E N

----


  • Selection criteria.

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-s01.

SELECTION-SCREEN SKIP.

SELECT-OPTIONS: s_auart FOR vbak-auart OBLIGATORY, " Document type

s_vkorg FOR vbak-vkorg OBLIGATORY, " Sales Organisation

s_vtweg FOR vbak-vtweg, " Dist Channel

s_spart FOR vbak-spart, " Division

s_audat FOR vbak-audat, " Document date

s_mbdat FOR vbep-mbdat, " Material Availability date

s_kukla FOR kna1-kukla, " customer Classification

s_lprio FOR vbap-lprio, " Delivery Priority

s_kunnr FOR kna1-kunnr, " Customer(Sold To/Ship To)

s_lifsk FOR vbak-lifsk . " Delivery Block

SELECTION-SCREEN SKIP.

SELECTION-SCREEN END OF BLOCK blk1.

  • Sort criteria.

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-s02.

PARAMETERS: p_saudat(02) TYPE n, " Sort-Order Creation Date

p_sshdat(02) TYPE n, " Sort-Estimated Shipping Date

p_slprio(02) TYPE n. " Sort-Delivery Priority

SELECTION-SCREEN SKIP.

SELECTION-SCREEN END OF BLOCK blk2.

INITIALIZATION.

v_repid = sy-repid.

PERFORM bulid_fieldcatlog.

PERFORM event_call.

PERFORM populate_event.

START-OF-SELECTION.

START-OF-SELECTION.

  • Get Data

PERFORM get_data.

PERFORM fill_field_catalog_vbap USING tb_orders_cat.

PERFORM build_events.

PERFORM display_data.

FORM user_command USING ucomm LIKE sy-ucomm

selfield TYPE slis_selfield .

CASE ucomm.

WHEN '&SEL' .

LOOP AT TB_ORDERS .

MOVE 'X' TO TB_ORDERS-CHECKBOX.

MODIFY TB_ORDERS.

ENDLOOP.

SELFIELD-REFRESH = 'X'.

PERFORM display_data.

WHEN '&BAK'.

CALL SELECTION-SCREEN 1000.

WHEN 'DESEL'.

LOOP AT TB_ORDERS.

MOVE ' ' TO TB_ORDERS-CHECKBOX.

MODIFY TB_ORDERS.

ENDLOOP.

PERFORM display_data.

WHEN '&ATP'.

data temp type ref to cl_gui_alv_grid.

CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'

  • EXPORTING

  • IR_SALV_FULLSCREEN_ADAPTER =

IMPORTING

  • ET_EXCLUDING =

E_REPID = g_repid

E_CALLBACK_PROGRAM = g_repid

  • E_CALLBACK_ROUTINE =

E_GRID = temp

  • ET_FIELDCAT_LVC =

  • ER_TRACE =

  • E_FLG_NO_HTML =

  • ES_LAYOUT_KKBLO =

  • ES_SEL_HIDE =

  • ET_EVENT_EXIT =

  • ER_FORM_TOL =

  • ER_FORM_EOL =

.

call method temp->check_changed_data.

perform get_marked_salesorders.

IF NOT MARKED_SO IS INITIAL.

perform redetermine_atp.

perform calling_bapi.

perform write_report.

FORM write_report.

  • perform fill_field_catalog_output using tb_outputcat.

SORT tb_atp_error_tab BY vbeln.

SORT tb_atp_succ_tab BY vbeln.

SORT tb_bapi_error_tab BY vbeln.

SORT tb_bapi_succ_tab BY vbeln.

write : sy-vline.

LOOP AT tb_atp_error_tab.

WRITE:/001(01) sy-vline,

002(15) tb_atp_error_tab-vbeln,

017(01) sy-vline,

018(15) tb_atp_error_tab-posnr,

033(01) sy-vline,

034(90) tb_atp_error_tab-message,

124(01) sy-vline.

ENDLOOP.

IF sy-subrc = 0.

ULINE /001(124).

NEW-PAGE.

ENDIF.

LOOP AT tb_atp_succ_tab.

WRITE:/001(01) sy-vline,

002(15) tb_atp_succ_tab-vbeln,

017(01) sy-vline,

018(15) tb_atp_succ_tab-posnr,

033(01) sy-vline,

034(90) tb_atp_succ_tab-message,

124(01) sy-vline.

ENDLOOP.

IF sy-subrc = 0.

ULINE /001(124).

NEW-PAGE.

ENDIF.

LOOP AT tb_bapi_error_tab.

WRITE:/001(01) sy-vline,

002(15) tb_bapi_error_tab-vbeln,

017(01) sy-vline,

034(90) tb_bapi_error_tab-message,

124(01) sy-vline.

ENDLOOP.

IF sy-subrc = 0.

ULINE /001(124).

NEW-PAGE.

ENDIF.

LOOP AT tb_bapi_succ_tab.

WRITE:/001(01) sy-vline,

002(15) tb_bapi_succ_tab-vbeln,

017(01) sy-vline,

034(90) tb_bapi_succ_tab-message,

124(01) sy-vline.

ENDLOOP.

IF sy-subrc = 0.

ULINE /001(124).

ENDIF.

ENDFORM. " WRITE_REPORT

ENDIF.

ENDCASE.

ENDFORM. "user_command

2 REPLIES 2
Read only

Former Member
0 Likes
395

Hi,

Try giving..

LEAVE TO LIST-PROCESSING.

before the write statements...

Thanks,

Naren

Read only

0 Likes
395

Hi Naren,

Works fine thanks you so much.

I rewarded the points.