cancel
Showing results for 
Search instead for 
Did you mean: 

problem regarding splitter containers..

Former Member
0 Kudos

Hi all,

can u help me regarding how to use splitter containers in oops alv...

thanks ...

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi

you can refer this program for spliter. If any problem plz tell me

REPORT zrpt_excise_rt12_new NO STANDARD PAGE HEADING LINE-SIZE 550.

TABLES :

j_1irg23d, " RG23D register for the depot

j_1iexchdr,

vbfa,

bkpf,

j_1iexcdtl,

lfa1,

j_1ipart2,

j_2iextrct,

j_1iexgrps,

j_1iwrkcus,

j_1iregset,

t001k,

t001,

t001w,

      • Added by bharat from KPIT on 11.10.2007

vbrk,

konv.

************************************************************************

SELECTION-SCREEN BEGIN OF BLOCK opt WITH FRAME TITLE text-007.

PARAMETERS : p_werks LIKE j_1irg23d-werks OBLIGATORY.

SELECT-OPTIONS : s_matnr FOR j_1irg23d-matnr NO INTERVALS. "obligatory

SELECT-OPTIONS : p_exnum FOR j_1irg23d-exnum NO INTERVALS.

SELECT-OPTIONS : s_cpudt FOR j_1irg23d-cpudt OBLIGATORY NO-EXTENSION.

SELECTION-SCREEN END OF BLOCK opt.

************************************************************************

DATA: lv_docnr LIKE bkpf-belnr,

docnr LIKE j_1irg23d-exnum.

DATA: BEGIN OF itab OCCURS 0,

belnr TYPE bkpf-belnr,

exnum TYPE j_1irg23d-exnum,

sernr TYPE i,

zeile TYPE j_1irg23d-zeile,

docyr TYPE j_1irg23d-docyr,

vbeln TYPE j_1irg23d-vbeln,

posnr TYPE j_1irg23d-posnr,

werks TYPE j_1irg23d-werks,

exgrp TYPE j_1irg23d-exgrp,

folio TYPE j_1irg23d-folio,

serialno TYPE j_1irg23d-serialno, "manish

lifnr TYPE j_1irg23d-lifnr,

matnr TYPE j_1irg23d-matnr,

maktx TYPE j_1irg23d-maktx,

chapid TYPE j_1irg23d-chapid,

menge TYPE j_1irg23d-menge,

exbas TYPE j_1irg23d-exbas,

exbed TYPE j_1irg23d-exbed,

exaed TYPE j_1iexcaed, " Addi duty " Add by amit 24.10.2007

cpudt TYPE j_1irg23d-cpudt,

ecsrate TYPE j_1irg23d-ecsrate,

ecs TYPE j_1irg23d-ecs,

EXADDTAX1 TYPE j_1iexaddtax1, " Hig ECSS "Add by amit 24.10.2007

  • heduce TYPE j_1iexaddtax1, " Hig ECSS "Add by amit 24.10.2007

name1 TYPE lfa1-name1,

ort01 TYPE lfa1-ort01,

exdat TYPE j_1iexchdr-exdat,

amount LIKE j_1irg23d-exbed,

kbetr TYPE kbetr,

END OF itab.

********************************************************************

DATA: BEGIN OF jtab OCCURS 0,

belnr TYPE bkpf-belnr,

exnum TYPE j_1irg23d-exnum,

sernr TYPE i,

zeile TYPE j_1irg23d-zeile,

docyr TYPE j_1irg23d-docyr,

vbeln TYPE j_1irg23d-vbeln,

posnr TYPE j_1irg23d-posnr,

werks TYPE j_1irg23d-werks,

exgrp TYPE j_1irg23d-exgrp,

folio TYPE j_1irg23d-folio,

serialno TYPE j_1irg23d-serialno, "manish

lifnr TYPE j_1irg23d-lifnr,

matnr TYPE j_1irg23d-matnr,

maktx TYPE j_1irg23d-maktx,

chapid TYPE j_1irg23d-chapid,

menge TYPE j_1irg23d-menge,

exbas TYPE j_1irg23d-exbas,

exbed TYPE j_1irg23d-exbed,

exaed TYPE j_1iexcaed, " Addi duty " Add by amit 24.10.2007

cpudt TYPE j_1irg23d-cpudt,

ecsrate TYPE j_1irg23d-ecsrate,

ecs TYPE j_1irg23d-ecs,

EXADDTAX1 TYPE j_1iexaddtax1, " Hig ECSS "Add by amit 24.10.2007

  • heduce TYPE j_1iexaddtax1, " Hig ECSS "Add by amit 24.10.2007

name1 TYPE lfa1-name1,

ort01 TYPE lfa1-ort01,

exdat TYPE j_1iexchdr-exdat,

amount LIKE j_1irg23d-exbed,

kbetr TYPE kbetr,

END OF jtab.

DATA: BEGIN OF qtab OCCURS 0,

name1 TYPE lfa1-name1,

ort01 TYPE lfa1-ort01,

lifnr TYPE lfa1-lifnr,

END OF qtab.

DATA: BEGIN OF rtab OCCURS 0,

exdat TYPE j_1iexchdr-exdat,

docyr TYPE j_1iexchdr-docyr,

werks TYPE j_1iexchdr-werks,

exgrp TYPE j_1iexchdr-exgrp,

exnum TYPE j_1iexchdr-exnum,

lifnr TYPE j_1iexchdr-lifnr,

cpudt TYPE j_1iexchdr-cpudt,

END OF rtab.

************************************************************************

DATA: BEGIN OF itab1 OCCURS 0,

belnr TYPE bkpf-belnr,

exnum TYPE j_1irg23d-exnum,

sernr TYPE i,

zeile TYPE j_1irg23d-zeile,

docyr TYPE j_1irg23d-docyr,

vbeln TYPE j_1irg23d-vbeln,

posnr TYPE j_1irg23d-posnr,

werks TYPE j_1irg23d-werks,

exgrp TYPE j_1irg23d-exgrp,

folio TYPE j_1irg23d-folio,

lifnr TYPE j_1irg23d-lifnr,

matnr TYPE j_1irg23d-matnr,

maktx TYPE j_1irg23d-maktx,

chapid TYPE j_1irg23d-chapid,

menge TYPE j_1irg23d-menge,

exbas TYPE j_1irg23d-exbas,

exbed TYPE j_1irg23d-exbed,

exaed TYPE j_1iexcaed, " Addi duty " Add by amit 24.10.2007

cpudt TYPE j_1irg23d-cpudt,

ecsrate TYPE j_1irg23d-ecsrate,

ecs TYPE j_1irg23d-ecs,

EXADDTAX1 TYPE j_1iexaddtax1, " Hig ECSS "Add by amit 24.10.2007

  • heduce TYPE j_1iexaddtax1, " Hig ECSS "Add by amit 24.10.2007

name1 TYPE lfa1-name1,

ort01 TYPE lfa1-ort01,

exdat TYPE j_1iexchdr-exdat,

amount LIKE j_1irg23d-exbed,

kbetr TYPE kbetr,

END OF itab1.

DATA: BEGIN OF jtab1 OCCURS 0,

exnum TYPE j_1irg23d-exnum,

belnr TYPE bkpf-belnr,

sernr TYPE i,

zeile TYPE j_1irg23d-zeile,

docyr TYPE j_1irg23d-docyr,

vbeln TYPE j_1irg23d-vbeln,

posnr TYPE j_1irg23d-posnr,

werks TYPE j_1irg23d-werks,

exgrp TYPE j_1irg23d-exgrp,

folio TYPE j_1irg23d-folio,

lifnr TYPE j_1irg23d-lifnr,

matnr TYPE j_1irg23d-matnr,

maktx TYPE j_1irg23d-maktx,

chapid TYPE j_1irg23d-chapid,

menge TYPE j_1irg23d-menge,

exbas TYPE j_1irg23d-exbas,

exbed TYPE j_1irg23d-exbed,

exaed TYPE j_1iexcaed, " Addi duty " Add by amit 24.10.2007

cpudt TYPE j_1irg23d-cpudt,

ecsrate TYPE j_1irg23d-ecsrate,

ecs TYPE j_1irg23d-ecs,

EXADDTAX1 TYPE j_1iexaddtax1, " Hig ECSS "Add by amit 24.10.2007

  • heduce TYPE j_1iexaddtax1, " Hig ECSS "Add by amit 24.10.2007

name1 TYPE lfa1-name1,

ort01 TYPE lfa1-ort01,

exdat TYPE j_1iexchdr-exdat,

amount LIKE j_1irg23d-exbed,

kbetr TYPE kbetr,

END OF jtab1.

DATA: itab2 LIKE jtab1 OCCURS 0 WITH HEADER LINE,

itab3 LIKE itab1 OCCURS 0 WITH HEADER LINE,

itab4 LIKE jtab1 OCCURS 0 WITH HEADER LINE,

itab5 LIKE itab1 OCCURS 0 WITH HEADER LINE.

DATA: wa LIKE LINE OF itab.

DATA: wp LIKE LINE OF jtab.

DATA: wa1 LIKE LINE OF itab2.

DATA: wa2 LIKE LINE OF itab3.

DATA : v_vbeln TYPE vbfa-vbeln.

DATA : v_belnr TYPE bkpf-belnr.

DATA : v_amount LIKE j_1irg23d-exbed.

DATA : v_vbeln1 TYPE vbeln_vf.

DATA : v_knumv1 TYPE knumv.

DATA : v_knumv TYPE knumv.

DATA : v_kbetr TYPE kbetr.

*.

************************************************************************

  • splitter control

************************************************************************

DATA splitter TYPE REF TO cl_gui_easy_splitter_container.

************************************************************************

  • container for the splitter control

************************************************************************

DATA container TYPE REF TO cl_gui_custom_container.

DATA: gs_layout TYPE lvc_s_layo.

DATA: gs1_layout TYPE lvc_s_layo.

************************************************************************

  • containers created by the splitter control

************************************************************************

DATA: container_1 TYPE REF TO cl_gui_container.

DATA: container_2 TYPE REF TO cl_gui_container.

DATA: grid_obj1 TYPE REF TO cl_gui_alv_grid.

DATA: ftab TYPE lvc_t_fcat,

ftab1 LIKE LINE OF ftab.

DATA: grid_obj2 TYPE REF TO cl_gui_alv_grid.

DATA: mtab TYPE lvc_t_fcat,

mtab1 LIKE LINE OF mtab.

************************************************************************

  • load control framework definition

************************************************************************

TYPE-POOLS cndp.

DATA init.

DATA ok_code TYPE sy-ucomm.

************************************************************************

START-OF-SELECTION.

CALL SCREEN 100.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS 'STATUS'.

IF init IS INITIAL.

************************************************************************

SELECT * FROM j_1irg23d INTO CORRESPONDING FIELDS OF TABLE itab

WHERE werks = p_werks

AND matnr IN s_matnr

AND exnum IN p_exnum

AND cpudt IN s_cpudt.

LOOP AT itab.

************************************************************************

          • TO GET THE bILLING DOCUMENT NO

************************************************************************

SELECT SINGLE vbeln FROM vbfa INTO v_vbeln

WHERE vbelv = itab-vbeln.

***Added by Bharat from KPIT on 11.10.2007 to get billing no which are

***not cancled.

SELECT SINGLE vbeln knumv FROM vbrk INTO (v_vbeln1, v_knumv1)

WHERE vbeln = v_vbeln

AND fksto NE 'X'.

***End of addition.

************************************************************************

***TO GET A/C DOC NO

************************************************************************

CLEAR v_belnr.

SELECT SINGLE belnr FROM bkpf

INTO v_belnr

WHERE bukrs = itab-werks

AND xblnr = v_vbeln1

AND gjahr > '1997'

AND belnr <> ''.

IF sy-subrc = 0.

MOVE v_belnr TO itab-belnr.

MODIFY itab TRANSPORTING belnr.

ENDIF.

CLEAR v_amount.

v_amount = itab-exbed + itab-ecs + itab-exaed + itab-EXADDTAX1.

itab-amount = v_amount.

***Added by Bharat from KPIT on 11.10.2007 to get rate field.

itab-kbetr = itab-amount / itab-menge.

MODIFY itab TRANSPORTING amount kbetr.

ENDLOOP.

************************************************************************

  • FOR PURCHASE DATA

************************************************************************

CLEAR itab.

LOOP AT itab.

SELECT * FROM j_1irg23d INTO CORRESPONDING FIELDS OF wp

WHERE werks = itab-werks

AND matnr = itab-matnr

AND folio = itab-folio

AND exnum = itab-exnum

AND posnr = '000000'.

APPEND wp TO jtab.

jtab-kbetr = itab-kbetr.

MODIFY jtab TRANSPORTING kbetr WHERE exnum = itab-exnum.

CLEAR wp.

ENDSELECT.

ENDLOOP.

CLEAR jtab.

LOOP AT jtab.

************************************************************************

*****TO GET VENDOR NAME & ADDRESS

************************************************************************

SELECT SINGLE name1 ort01 FROM lfa1 INTO CORRESPONDING FIELDS OF qtab

WHERE lifnr EQ jtab-lifnr.

IF sy-subrc = 0.

MOVE qtab-name1 TO jtab-name1.

MOVE qtab-ort01 TO jtab-ort01.

MODIFY jtab TRANSPORTING name1 ort01.

ENDIF.

************************************************************************

        • TO GET EXCISE DATE

************************************************************************

SELECT SINGLE exdat FROM j_1iexchdr INTO CORRESPONDING FIELDS OF rtab

WHERE docyr EQ jtab-docyr

AND werks EQ jtab-werks

AND exgrp EQ jtab-exgrp

AND exnum EQ jtab-exnum

AND lifnr EQ jtab-lifnr.

IF sy-subrc = 0.

MOVE rtab-exdat TO jtab-exdat.

MODIFY jtab TRANSPORTING exdat.

ENDIF.

CLEAR v_amount.

v_amount = jtab-exbed + jtab-ecs + jtab-exaed + jtab-EXADDTAX1.

jtab-amount = v_amount.

MODIFY jtab TRANSPORTING amount.

ENDLOOP.

***********************************************************************

SORT itab BY belnr posnr.

LOOP AT itab[] INTO wa.

IF wa-posnr <> '000000' AND wa-belnr <> ''.

MOVE-CORRESPONDING wa TO itab3.

APPEND itab3 .

CLEAR wa.

ENDIF.

LOOP AT jtab[] INTO wp.

IF wp-posnr = '000000'.

MOVE-CORRESPONDING wp TO itab2.

APPEND itab2.

CLEAR wp.

ENDIF.

IF itab2-folio = itab3-folio.

IF itab2-posnr = '000000'.

MOVE-CORRESPONDING itab2 TO itab4.

APPEND itab4.

CLEAR itab2.

CLEAR itab3.

ENDIF.

ENDIF.

ENDLOOP.

ENDLOOP.

***********************************************************************

  • TO GET THE SERIAL NUMBER FOR PURCHASE AND SALES

***********************************************************************

LOOP AT itab3.

AT NEW belnr.

lv_docnr = lv_docnr + 1.

itab3-sernr = lv_docnr.

MODIFY itab3 TRANSPORTING sernr.

ENDAT.

itab3-sernr = lv_docnr.

MODIFY itab3 TRANSPORTING sernr.

ENDLOOP.

docnr = 0 .

LOOP AT itab4.

AT NEW belnr.

docnr = docnr + 1.

itab4-sernr = docnr.

MODIFY itab4 TRANSPORTING sernr.

ENDAT.

itab4-sernr = docnr.

MODIFY itab4 TRANSPORTING sernr.

ENDLOOP.

MOVE itab-amount TO itab2-amount.

MOVE itab-amount TO itab3-amount.

IF sy-subrc = 0.

PERFORM appl_alv USING 'SERNR' '' 'Serial No'.

PERFORM appl_alv USING 'BELNR' '' 'Invoice No'.

PERFORM appl_alv USING 'CPUDT' '' 'Sales Invoice Date'.

PERFORM appl_alv USING 'MAKTX' '' 'Description Of Goods'.

PERFORM appl_alv USING 'CHAPID' '' 'Central Exice Tarrif Heading'.

PERFORM appl_alv USING 'MENGE' '' 'Quantity'.

  • PERFORM appl_alv USING 'KBETR' '' 'Rate'.

*--


Add by amit 24.10.2007--


PERFORM appl_alv USING 'EXBED' '' 'CVD@1'.

PERFORM appl_alv USING 'ECS' '' 'Edu'.

PERFORM appl_alv USING 'EXADDTAX1' '' 'Hedu Ce'.

PERFORM appl_alv USING 'EXAED' '' 'SAD@4'.

*----


PERFORM appl_alv USING 'AMOUNT' '' 'Amount Of Duty Involved(RS)'.

ENDIF.

IF sy-subrc = 0.

PERFORM appl2_alv USING 'SERNR' '' 'Serial No'.

PERFORM appl2_alv USING 'EXNUM' '' 'Bill Of Entry No'.

PERFORM appl2_alv USING 'EXDAT' '' 'BOE Date'.PERFORM

appl2_alv USING 'NAME1' '' 'Name and Address of MFG / Importer'.

PERFORM appl2_alv USING 'ORT01' '' 'City'.

PERFORM appl2_alv USING 'MAKTX' '' 'Description Of Goods'.

PERFORM appl2_alv USING 'CHAPID' '' 'Central Exice Tarrif Heading'.

PERFORM appl2_alv USING 'MENGE' '' 'Quantity'.

*--


Add by amit 24.10.2007--


PERFORM appl2_alv USING 'EXBED' '' 'CVD@1'.

PERFORM appl2_alv USING 'ECS' '' 'Edu'.

PERFORM appl2_alv USING 'EXADDTAX1' '' 'Hedu Ce'.

PERFORM appl2_alv USING 'EXAED' '' 'SAD@4'.

*----


PERFORM appl2_alv USING 'AMOUNT' '' 'Amount Of Duty Involved(RS)'.

ENDIF.

***********************************************************************

  • create a container for the splitter control

***********************************************************************

CREATE OBJECT container

EXPORTING container_name = 'CUSTOM'.

***********************************************************************

  • create the splitter control

***********************************************************************

CREATE OBJECT splitter

EXPORTING parent = container

orientation = 1.

************************************************************************

  • get the containers of the splitter control

***********************************************************************

container_1 = splitter->top_left_container.

container_2 = splitter->bottom_right_container.

CREATE OBJECT grid_obj1

EXPORTING i_parent = container_1.

gs_layout-grid_title = 'Sales Data'.

CREATE OBJECT grid_obj2

EXPORTING i_parent = container_2.

gs1_layout-grid_title = 'Purchase Data'.

CALL METHOD grid_obj1->set_table_for_first_display

EXPORTING is_layout = gs_layout

CHANGING it_outtab = itab3[]

it_fieldcatalog = ftab.

CALL METHOD grid_obj2->set_table_for_first_display

EXPORTING is_layout = gs1_layout

CHANGING it_outtab = itab4[]

it_fieldcatalog = mtab.

init = 'X'.

CALL METHOD cl_gui_cfw=>flush

EXCEPTIONS cntl_system_error = 1.

IF sy-subrc <> 0.

  • error handling

ENDIF.

ENDIF.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module exit INPUT

&----


  • text

----


MODULE exit INPUT.

CALL METHOD container->free.

LEAVE PROGRAM.

ENDMODULE. " exit INPUT

&----


*& Form appl_alv

&----


  • text

----


  • -->P_1102 text

  • -->P_1103 text

  • -->P_1104 text

----


FORM appl_alv USING flnm tbnm clnm.

ftab1-fieldname = flnm.

ftab1-tabname = tbnm.

ftab1-coltext = clnm.

APPEND ftab1 TO ftab.

CLEAR ftab1.

ENDFORM. " appl_alv

&----


*& Form appl2_alv

&----


  • text

----


  • -->P_1149 text

  • -->P_1150 text

  • -->P_1151 text

----


FORM appl2_alv USING f1lnm t1bnm c1lnm.

mtab1-fieldname = f1lnm.

mtab1-tabname = t1bnm.

mtab1-coltext = c1lnm.

APPEND mtab1 TO mtab.

CLEAR mtab1 .

ENDFORM. " appl2_alv

naimesh_patel
Active Contributor
0 Kudos

Check this demo program.

RSDEMO_SPLITTER_CONTROL

Regards,

Naimesh Patel