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

TABLE CONTROL IN SUBSCREEN

Former Member
0 Likes
3,579

Hi Experts.

I'm working on Dynpro program.

I'd like to show an Table control in Subscreen which is a part of

TABSTRIP.

I've done it just like when I showed the Table control in Main screen.

but an Error DYNPRO_ITAB_ERROR occured.

Is there anything that I should set or change when showing table control in Subscreen?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,400

hi,

see the following code which contains tablecontrol within a tabstrips.

TABLES:kna1, vbak,vbap.

DATA:kunnr LIKE kna1-kunnr.

TYPES:BEGIN OF it_vbak,

kunnr type kna1-kunnr,

vbeln LIKE vbak-vbeln,

erdat LIKE vbak-erdat,

ernam LIKE vbak-ernam,

netwr LIKE vbak-netwr,

END OF it_vbak.

TYPES:BEGIN OF it_vbap,

vbeln type vbap-vbeln,

posnr LIKE vbap-posnr,

matnr LIKE vbap-matnr,

END OF it_vbap.

*data: scr type sy-dynnr value '200'.

DATA: itab TYPE TABLE OF it_vbak WITH HEADER LINE,

itab1 TYPE TABLE OF it_vbap WITH HEADER LINE.

  • wtab type it_vbak,

  • wtab1 type it_vbap.

CONTROLS:tabstrip TYPE TABSTRIP,

tabcontrol TYPE TABLEVIEW USING SCREEN '200',

tabcontrol1 TYPE TABLEVIEW USING SCREEN '300'.

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

CASE sy-ucomm.

WHEN 'DISP'.

SELECT kunnr vbeln erdat ernam netwr FROM vbak INTO TABLE itab

WHERE kunnr = kna1-kunnr.

if not itab is initial.

SELECT vbeln posnr matnr FROM vbap

INTO TABLE itab1

for all entries in itab[] where vbeln = itab-vbeln.

endif.

WHEN 'BACK'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module assign OUTPUT

&----


  • text

----


MODULE assign OUTPUT.

MOVE-CORRESPONDING itab TO vbak.

ENDMODULE. " assign OUTPUT

&----


*& Module populate OUTPUT

&----


  • text

----


MODULE populate OUTPUT.

MOVE-CORRESPONDING itab1 TO vbap.

ENDMODULE. " populate OUTPUT

*******screen 100*************

PROCESS BEFORE OUTPUT.

  • MODULE STATUS_0100.

call subscreen sub1 including sy-repid '200'.

call subscreen sub2 including sy-repid '300'.

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0100.

*********screen 200************

PROCESS BEFORE OUTPUT.

  • MODULE STATUS_0200.

loop at itab with control tabcontrol.

module assign.

endloop.

PROCESS AFTER INPUT.

loop at itab.

endloop.

  • MODULE USER_COMMAND_0200.

*************screen 300**********

PROCESS BEFORE OUTPUT.

loop at itab1 with control tabcontrol1.

module populate.

endloop.

  • MODULE STATUS_0300.

PROCESS AFTER INPUT.

loop at itab1.

endloop.

  • MODULE USER_COMMAND_0300.

thankx,

raji

reward if helpful

3 REPLIES 3
Read only

Former Member
0 Likes
1,401

hi,

see the following code which contains tablecontrol within a tabstrips.

TABLES:kna1, vbak,vbap.

DATA:kunnr LIKE kna1-kunnr.

TYPES:BEGIN OF it_vbak,

kunnr type kna1-kunnr,

vbeln LIKE vbak-vbeln,

erdat LIKE vbak-erdat,

ernam LIKE vbak-ernam,

netwr LIKE vbak-netwr,

END OF it_vbak.

TYPES:BEGIN OF it_vbap,

vbeln type vbap-vbeln,

posnr LIKE vbap-posnr,

matnr LIKE vbap-matnr,

END OF it_vbap.

*data: scr type sy-dynnr value '200'.

DATA: itab TYPE TABLE OF it_vbak WITH HEADER LINE,

itab1 TYPE TABLE OF it_vbap WITH HEADER LINE.

  • wtab type it_vbak,

  • wtab1 type it_vbap.

CONTROLS:tabstrip TYPE TABSTRIP,

tabcontrol TYPE TABLEVIEW USING SCREEN '200',

tabcontrol1 TYPE TABLEVIEW USING SCREEN '300'.

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

CASE sy-ucomm.

WHEN 'DISP'.

SELECT kunnr vbeln erdat ernam netwr FROM vbak INTO TABLE itab

WHERE kunnr = kna1-kunnr.

if not itab is initial.

SELECT vbeln posnr matnr FROM vbap

INTO TABLE itab1

for all entries in itab[] where vbeln = itab-vbeln.

endif.

WHEN 'BACK'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module assign OUTPUT

&----


  • text

----


MODULE assign OUTPUT.

MOVE-CORRESPONDING itab TO vbak.

ENDMODULE. " assign OUTPUT

&----


*& Module populate OUTPUT

&----


  • text

----


MODULE populate OUTPUT.

MOVE-CORRESPONDING itab1 TO vbap.

ENDMODULE. " populate OUTPUT

*******screen 100*************

PROCESS BEFORE OUTPUT.

  • MODULE STATUS_0100.

call subscreen sub1 including sy-repid '200'.

call subscreen sub2 including sy-repid '300'.

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0100.

*********screen 200************

PROCESS BEFORE OUTPUT.

  • MODULE STATUS_0200.

loop at itab with control tabcontrol.

module assign.

endloop.

PROCESS AFTER INPUT.

loop at itab.

endloop.

  • MODULE USER_COMMAND_0200.

*************screen 300**********

PROCESS BEFORE OUTPUT.

loop at itab1 with control tabcontrol1.

module populate.

endloop.

  • MODULE STATUS_0300.

PROCESS AFTER INPUT.

loop at itab1.

endloop.

  • MODULE USER_COMMAND_0300.

thankx,

raji

reward if helpful

Read only

Former Member
0 Likes
1,400

Nothing special except usual subscreen programming. Just try to debug it to find the eeror.

Make sure that both tabstrip and table controls declared in top include using 'CONTROLS' statement.

Read only

Former Member
0 Likes
1,400

What a stupid I am!!

I forgot to declare TABLES part.

As soon as I read your code I realised what the problem was.