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

Distribution Channel

Former Member
0 Likes
942

what is a distribution channel? What is the use of it?

what is a distribution channel? What is the use of it?

5 REPLIES 5
Read only

Former Member
0 Likes
898

http://help.sap.com/saphelp_bw320/helpdata/en/b2/2d134cbb9d984a80fe968311f38753/frameset.htm

Organizational Unit <b>Transaction Code</b> Menu Path Comments

-


Distribution Channel <b>OVXI</b> IMG > Enterprise Structure > Maintain Structure > Definition > Sales and Distribution > Define, copy, delete, check Distribution Channel > Define Distribution Channel

Change the name (updates TVTW)

<b>11. What is purpose of maintaining common distribution channels and common divisions</b>

Common Distribution Channel and Common Divison are maintained so that if any master data like customer or material maintained with respect to one distribution channel can be used in other DCh. It prevents the multiplication of master records.

Eg: A customer is created for say sales area 1000/20/00 then the same customer can be used in sales area 1000/30/00 if we maintain 20 as common distribution channel. Hence no need for extending the customers...the same for materials also.

http://www.sap-img.com/sap-sd/sd-questions-on-corporate-structure.htm

Message was edited by:

Judith Jessie Selvi

Read only

0 Likes
898

Hi....

We are having diffrrent reports having sales organization. Now, using distribution channel we need to add "no-extension no intervals" to sales organization through distribution channel. Is it possible to do using distribution channel? If yes, can you please tell me the process.

Read only

p291102
Active Contributor
0 Likes
898

Hi,

Whcih method The product to reach the customer?

For example Direct sale, Retail,Agent and etc.

This is the definition for the distribution channel. Distribution channel assigned to the sales organisation.

Thanks,

Shankar

Read only

sreeramkumar_madisetty
Active Contributor
0 Likes
898

Hi

Distribution Channel is one from where the Distribution of the Goods takes place.

When products generated from the plants through these Distribution Channels only those products can be distributed to the corresponding vendors.

Regards,

kumar

Read only

p291102
Active Contributor
0 Likes
898

Hi,

I am sendin the model report for that. Kindly go through it.

REPORT ZP_SD_SALES_DRILL_DOWN NO STANDARD PAGE HEADING

LINE-COUNT 65

LINE-SIZE 170.

TABLES : VBRK,

VBRP,

J_1IEXCHDR,

KNVV,

TCURX,

ZSD_EMPMST,

MARA,

KNA1,

MARC,

KONV,

ZTHACLAMAT,

ZTHACLA,

ZCUG,

T171T.

TYPE-POOLS: SLIS.

DATA: SNO TYPE I.

DATA : BEGIN OF ITAB OCCURS 0,

VBELN LIKE VBRK-VBELN,

FKDAT LIKE VBRK-FKDAT,

KNUMV LIKE VBRK-KNUMV,

WAERK LIKE VBRK-WAERK,

KURRF LIKE VBRK-KURRF,

KUNAG LIKE VBRK-KUNAG,

POSNR LIKE VBRP-POSNR,

MATNR LIKE VBRP-MATNR,

NETWR LIKE VBRP-NETWR,

BEGRU LIKE KNVV-BEGRU,

BZIRK LIKE KNVV-BZIRK,

BZTXT LIKE T171T-BZTXT,

MATKL LIKE MARA-MATKL,

ARKTX LIKE VBRP-ARKTX,

SPART LIKE VBRK-SPART,

VTWEG LIKE VBRK-VTWEG,

FKIMG LIKE VBRP-FKIMG,

WERKS LIKE VBRP-WERKS,

BISMT LIKE MARA-BISMT,

LABOR LIKE MARA-LABOR,

DISPO LIKE MARC-DISPO,

ORT02 LIKE KNA1-ORT02,

NAME1 LIKE KNA1-NAME1,

END OF ITAB.

DATA: BEGIN OF CITAB OCCURS 0,

MATNR LIKE ZTHACLAMAT-MATNR,

CLINT_999 LIKE ZTHACLAMAT-CLINT_999,

USEDIN LIKE ZTHACLAMAT-USEDIN,

KSCHL LIKE ZTHACLA-KSCHL,

END OF CITAB.

DATA: HEADINGTEXT1(50).

DATA : BEGIN OF IKNA1 OCCURS 0,

KUNNR LIKE KNA1-KUNNR,

NAME1 LIKE KNA1-NAME1,

END OF IKNA1.

DATA : BEGIN OF ICCM OCCURS 0,

  • begru LIKE knvv-begru,

MONYR(07) TYPE C,

SVALU LIKE VBRK-NETWR,

END OF ICCM.

DATA : BEGIN OF IKONV OCCURS 0,

KNUMV LIKE KONV-KNUMV,

KPOSN LIKE KONV-KPOSN,

KSCHL LIKE KONV-KSCHL,

KWERT LIKE KONV-KWERT,

WAERS LIKE KONV-WAERS,

END OF IKONV.

DATA : BEGIN OF IFINAL OCCURS 0,

SNO TYPE I,

SPART LIKE VBRK-SPART,

VTWEG LIKE VBRK-VTWEG,

FKIMG LIKE VBRP-FKIMG,

WERKS LIKE VBRP-WERKS,

MATNR LIKE VBRP-MATNR,

BISMT LIKE MARA-BISMT,

LABOR LIKE MARA-LABOR,

DISPO LIKE MARC-DISPO,

ORT02 LIKE KNA1-ORT02,

NAME2 LIKE ZCUG-NAME1,

NAME1 LIKE KNA1-NAME1,

ARKTX LIKE VBRP-ARKTX,

BEGRU LIKE KNVV-BEGRU,

BZIRK LIKE KNVV-BZIRK,

BZTXT LIKE T171T-BZTXT,

ENAME LIKE ZSD_EMPMST-ENAME,

KUNAG LIKE VBRK-KUNAG,

  • NAME1 LIKE KNA1-NAME1,

F2VAL LIKE VBRK-NETWR,

YF2VAL LIKE VBRK-NETWR,

CTOT_SALES LIKE VBRK-NETWR,

G2VAL LIKE VBRK-NETWR,

CTOT_SALES1 LIKE VBRK-NETWR,

USEDIN LIKE ZTHACLAMAT-USEDIN,

CLINT_999 LIKE ZTHACLAMAT-CLINT_999,

KSCHL LIKE ZTHACLA-KSCHL,

END OF IFINAL.

DATA : ITABYF2 LIKE ITAB OCCURS 0 WITH HEADER LINE.

DATA : ITABG2 LIKE ITAB OCCURS 0 WITH HEADER LINE.

DATA : IFINAL1 LIKE IFINAL OCCURS 0 WITH HEADER LINE.

*DATA : EVENTSTAB TYPE SLIS_T_EVENT WITH HEADER LINE.

*DATA : HEADING TYPE SLIS_T_LISTHEADER WITH HEADER LINE,

  • HEADING1 TYPE SLIS_T_LISTHEADER WITH HEADER LINE,

  • HEADING2 TYPE SLIS_T_LISTHEADER WITH HEADER LINE,

  • HEADING3 TYPE SLIS_T_LISTHEADER WITH HEADER LINE.

DATA: REPID LIKE SY-REPID,

AFIELD TYPE SLIS_T_FIELDCAT_ALV,

FIELDCAT TYPE SLIS_FIELDCAT_ALV,

FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,

I_EVENTS TYPE SLIS_T_EVENT,

S_EVENTS TYPE SLIS_ALV_EVENT,

SORTCAT TYPE SLIS_T_SORTINFO_ALV,

SORTCAT_LN TYPE SLIS_SORTINFO_ALV,

LAYOUT_IN TYPE SLIS_LAYOUT_ALV,

LAYOUT_IN1 TYPE SLIS_LAYOUT_ALV,

EVENTCAT TYPE SLIS_T_EVENT,

EVENTCAT_LN LIKE LINE OF EVENTCAT,

LS_KEYINFO TYPE SLIS_KEYINFO_ALV.

*

*DATA: REPID LIKE SY-REPID,

  • AFIELD TYPE SLIS_T_FIELDCAT_ALV,

  • FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

  • FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV,

  • I_EVENTS TYPE SLIS_T_EVENT,

  • S_EVENTS TYPE SLIS_ALV_EVENT,

  • SORTCAT TYPE SLIS_T_SORTINFO_ALV,

  • SORTCAT_LN TYPE SLIS_SORTINFO_ALV,

  • LAYOUT_IN TYPE SLIS_LAYOUT_ALV,

  • LAYOUT_IN1 TYPE SLIS_LAYOUT_ALV,

*

  • EVENTCAT TYPE SLIS_T_EVENT,

  • EVENTCAT_LN LIKE LINE OF EVENTCAT,

*

  • LS_KEYINFO TYPE SLIS_KEYINFO_ALV.

*DATA : FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA : WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA : ITABTMP LIKE ITAB OCCURS 0 WITH HEADER LINE.

DATA : CCM_TOTAL TYPE P DECIMALS 2,

CUST_TOTAL TYPE P DECIMALS 2,

FINAL_TOTAL TYPE P DECIMALS 2.

DATA : CCM_F2_TOT TYPE P DECIMALS 2,

CCM_YF2_TOT TYPE P DECIMALS 2,

CCM_G2_TOT TYPE P DECIMALS 2,

CCM_TOT TYPE P DECIMALS 2,

CCM_TOT1 TYPE P DECIMALS 2,

CCM_DISC TYPE P DECIMALS 2.

DATA : FINAL_F2_TOT TYPE P DECIMALS 2,

FINAL_YF2_TOT TYPE P DECIMALS 2,

FINAL_G2_TOT TYPE P DECIMALS 2,

FINAL_TOT TYPE P DECIMALS 2,

FINAL_TOT1 TYPE P DECIMALS 2,

FINAL_DISC TYPE P DECIMALS 2.

DATA : CTOT_SALES TYPE P DECIMALS 2,

CTOT_SALES1 TYPE P DECIMALS 2.

DATA : WS_TEXT(50) TYPE C,

MON(07) TYPE C.

SELECTION-SCREEN : BEGIN OF BLOCK KARTHI WITH FRAME.

SELECT-OPTIONS : S_FKDAT FOR VBRK-FKDAT OBLIGATORY NO-EXTENSION,

S_WERKS FOR VBRP-WERKS OBLIGATORY,

S_VTWEG FOR VBRK-VTWEG,

S_SPART FOR VBRK-SPART,

S_KUNAG FOR VBRK-KUNAG,

S_MATNR FOR VBRP-MATNR,

S_BEGRU FOR KNVV-BEGRU,

S_LABOR FOR MARA-LABOR,

  • S_DISPO FOR MARC-DISPO,

S_MATKL FOR MARA-MATKL,

S_ORT02 FOR KNA1-ORT02.

PARAMETERS : S_USEDIN LIKE ZTHACLAMAT-USEDIN.

SELECTION-SCREEN : END OF BLOCK KARTHI.

START-OF-SELECTION.

REPID = SY-REPID.

PERFORM ALV.

*FPS Invoice

*===========

SELECT A~VBELN A~FKDAT A~KNUMV A~WAERK A~KURRF A~KUNAG A~SPART A~VTWEG

B~POSNR B~MATNR B~NETWR B~FKIMG B~WERKS B~ARKTX

D~BEGRU D~BZIRK E~MATKL E~BISMT E~LABOR

  • F~DISPO

G~ORT02 G~NAME1

  • H~BZTXT

INTO CORRESPONDING FIELDS OF TABLE ITAB

FROM VBRK AS A INNER JOIN VBRP AS B

ON A~VBELN EQ B~VBELN

INNER JOIN J_1IEXCHDR AS C

ON A~VBELN EQ C~RDOC

INNER JOIN KNVV AS D

ON D~KUNNR EQ A~KUNAG AND

D~VKORG EQ A~VKORG AND

D~SPART EQ A~SPART

INNER JOIN MARA AS E

ON E~MATNR EQ B~MATNR

  • INNER JOIN MARC AS F

  • ON FMATNR EQ BMATNR

*

INNER JOIN KNA1 AS G

ON G~KUNNR EQ A~KUNAG

  • INNER JOIN T171T AS H

  • ON DBZIRK EQ HBZIRK

*

WHERE A~FKART EQ 'F2' AND

A~FKDAT IN S_FKDAT AND

A~VTWEG IN S_VTWEG AND

A~SPART IN S_SPART AND

A~KUNAG IN S_KUNAG AND

A~FKSTO NE 'X' AND

  • b~srgrp IN s_srgrp AND

B~WERKS IN S_WERKS AND

B~MATNR IN S_MATNR AND

C~TRNTYP = 'DLFC' AND

  • C~SRGRP IN ('01','02','03','31','32','33','41','42','43',

  • '81','82''83','95','08','501') AND

D~BEGRU IN S_BEGRU AND

E~MATKL IN S_MATKL AND

E~LABOR IN S_LABOR.

SORT ITAB BY VBELN POSNR BEGRU DESCENDING.

DELETE ADJACENT DUPLICATES FROM ITAB COMPARING VBELN POSNR.

*Service Station Invoice

*=======================

SELECT AVBELN AFKDAT AKNUMV AWAERK AKURRF AKUNAG ASPART AVTWEG

BPOSNR BMATNR BNETWR BFKIMG BWERKS BARKTX C~RDOC

DBEGRU DBZIRK EMATKL EBISMT E~LABOR

  • F~DISPO

GORT02 GNAME1

  • H~BZTXT

INTO CORRESPONDING FIELDS OF TABLE ITABYF2

FROM VBRK AS A INNER JOIN VBRP AS B

ON AVBELN EQ BVBELN

INNER JOIN J_1IEXCHDR AS C

ON AVBELN EQ CRDOC

INNER JOIN KNVV AS D

ON DKUNNR EQ AKUNAG AND

DVKORG EQ AVKORG AND

DSPART EQ ASPART

INNER JOIN MARA AS E

ON EMATNR EQ BMATNR

  • INNER JOIN MARC AS F

  • ON FMATNR EQ BMATNR

INNER JOIN KNA1 AS G

ON GKUNNR EQ AKUNAG

  • INNER JOIN T171T AS H

  • ON DBZIRK EQ HBZIRK

WHERE A~FKART EQ 'YF2' AND

A~FKDAT IN S_FKDAT AND

A~VTWEG IN S_VTWEG AND

A~SPART IN S_SPART AND

A~KUNAG IN S_KUNAG AND

A~FKSTO NE 'X' AND

  • b~srgrp IN s_srgrp AND

B~WERKS IN S_WERKS AND

B~MATNR IN S_MATNR AND

C~TRNTYP = 'DLFC' AND

  • C~SRGRP IN ('01','02','03','31','32','33','41','42','43',

  • '81','82','83','08','501') AND

D~BEGRU IN S_BEGRU AND

E~MATKL IN S_MATKL AND

E~LABOR IN S_LABOR.

SORT ITABYF2 BY VBELN POSNR BEGRU DESCENDING.

DELETE ADJACENT DUPLICATES FROM ITABYF2 COMPARING VBELN POSNR.

*Credit Note

*===========

SELECT AVBELN AFKDAT AKNUMV AWAERK AKURRF AKUNAG ASPART AVTWEG

BPOSNR BMATNR BNETWR BFKIMG BWERKS BARKTX

CBEGRU CBZIRK DMATKL DMATKL DBISMT DLABOR

  • F~DISPO

GORT02 GNAME1

  • H~BZTXT

INTO CORRESPONDING FIELDS OF TABLE ITABG2

FROM VBRK AS A INNER JOIN VBRP AS B

ON AVBELN EQ BVBELN

INNER JOIN KNVV AS C

ON CKUNNR EQ AKUNAG AND

CVKORG EQ AVKORG AND

CSPART EQ ASPART

INNER JOIN MARA AS D

ON DMATNR EQ BMATNR

  • INNER JOIN MARC AS F

  • ON FMATNR EQ BMATNR

INNER JOIN KNA1 AS G

ON GKUNNR EQ AKUNAG

  • INNER JOIN T171T AS H

  • ON CBZIRK EQ HBZIRK

WHERE A~FKART EQ 'G2' AND

A~FKDAT IN S_FKDAT AND

A~VTWEG IN S_VTWEG AND

A~SPART IN S_SPART AND

A~KUNAG IN S_KUNAG AND

A~FKSTO NE 'X' AND

B~WERKS IN S_WERKS AND

B~MATNR IN S_MATNR AND

C~BEGRU IN S_BEGRU AND

D~MATKL IN S_MATKL AND

D~LABOR IN S_LABOR.

SORT ITABG2 BY VBELN POSNR BEGRU DESCENDING.

DELETE ADJACENT DUPLICATES FROM ITABG2 COMPARING VBELN POSNR.

IF NOT ITABG2[] IS INITIAL.

SELECT KNUMV KPOSN KSCHL KWERT WAERS

INTO TABLE IKONV

FROM KONV

FOR ALL ENTRIES IN ITABG2

WHERE KNUMV EQ ITABG2-KNUMV AND

KPOSN EQ ITABG2-POSNR AND

KSCHL EQ 'PR00'.

SORT IKONV BY KNUMV KPOSN KWERT DESCENDING.

ENDIF.

SORT ITAB BY BEGRU KUNAG BZIRK.

*itabtmp[] = itab[].

*SORT itabtmp BY kunag.

*DELETE ADJACENT DUPLICATES FROM itabtmp COMPARING kunag.

*SELECT kunnr name1 INTO TABLE ikna1

  • FROM kna1

  • FOR ALL ENTRIES IN itabtmp

  • WHERE kunnr = itabtmp-kunag.

END-OF-SELECTION.

*Transfering FPS Invoice data to final itab.

*===========================================

LOOP AT ITAB.

*Local Currency Conversion

*=========================

IF ITAB-WAERK NE 'INR'.

PERFORM F_CURR_CON USING ITAB-WAERK CHANGING ITAB-NETWR.

ENDIF.

READ TABLE IFINAL WITH KEY BEGRU = ITAB-BEGRU

KUNAG = ITAB-KUNAG.

IF SY-SUBRC NE 0.

CLEAR : IFINAL.

  • IFINAL-BZTXT = ITAB-BZTXT.

  • IFINAL-BZIRK = ITAB-BZIRK.

IFINAL-MATNR = ITAB-MATNR.

IFINAL-SPART = ITAB-SPART.

IFINAL-VTWEG = ITAB-VTWEG.

IFINAL-FKIMG = ITAB-FKIMG.

IFINAL-WERKS = ITAB-WERKS.

IFINAL-BISMT = ITAB-BISMT.

IFINAL-LABOR = ITAB-LABOR.

  • IFINAL-DISPO = ITAB-DISPO.

IFINAL-ORT02 = ITAB-ORT02.

IFINAL-ARKTX = ITAB-ARKTX.

IFINAL-NAME1 = ITAB-NAME1.

IFINAL-BEGRU = ITAB-BEGRU.

IFINAL-KUNAG = ITAB-KUNAG.

IFINAL-F2VAL = ITAB-NETWR.

IFINAL-YF2VAL = 0.

IFINAL-G2VAL = 0.

APPEND IFINAL.

ELSE.

IFINAL-F2VAL = IFINAL-F2VAL + ITAB-NETWR.

MODIFY IFINAL INDEX SY-TABIX.

ENDIF.

ENDLOOP.

LOOP AT ITABYF2.

IF ITABYF2-WAERK NE 'INR'.

PERFORM F_CURR_CON USING ITABYF2-WAERK CHANGING ITABYF2-NETWR.

ENDIF.

READ TABLE IFINAL WITH KEY BEGRU = ITABYF2-BEGRU

KUNAG = ITABYF2-KUNAG.

IF SY-SUBRC NE 0.

CLEAR : IFINAL.

  • IFINAL-BZTXT = ITAB-BZTXT.

  • IFINAL-BZIRK = ITAB-BZIRK.

IFINAL-MATNR = ITAB-MATNR.

IFINAL-SPART = ITAB-SPART.

IFINAL-VTWEG = ITAB-VTWEG.

IFINAL-FKIMG = ITAB-FKIMG.

IFINAL-WERKS = ITAB-WERKS.

IFINAL-BISMT = ITAB-BISMT.

IFINAL-LABOR = ITAB-LABOR.

IFINAL-DISPO = ITAB-DISPO.

IFINAL-ORT02 = ITAB-ORT02.

IFINAL-ARKTX = ITAB-ARKTX.

IFINAL-NAME1 = ITAB-NAME1.

IFINAL-BEGRU = ITABYF2-BEGRU.

IFINAL-KUNAG = ITABYF2-KUNAG.

IFINAL-F2VAL = 0.

IFINAL-YF2VAL = ITABYF2-NETWR.

IFINAL-G2VAL = 0.

APPEND IFINAL.

ELSE.

IFINAL-YF2VAL = IFINAL-YF2VAL + ITABYF2-NETWR.

MODIFY IFINAL INDEX SY-TABIX.

ENDIF.

ENDLOOP.

*Transfering Data from Credit Note Final itab.

*=============================================

LOOP AT ITABG2.

IF ITABG2-WAERK NE 'INR'.

PERFORM F_CURR_CON USING ITABG2-WAERK CHANGING ITABG2-NETWR.

ENDIF.

READ TABLE IKONV WITH KEY KNUMV = ITABG2-KNUMV

KPOSN = ITABG2-POSNR.

IF SY-SUBRC NE 0.

IKONV-KWERT = 0.

ENDIF.

READ TABLE IFINAL WITH KEY BEGRU = ITABG2-BEGRU

KUNAG = ITABG2-KUNAG.

IF SY-SUBRC NE 0.

CLEAR : IFINAL.

  • IFINAL-BZTXT = ITAB-BZTXT.

  • IFINAL-BZIRK = ITAB-BZIRK.

IFINAL-MATNR = ITAB-MATNR.

IFINAL-SPART = ITAB-SPART.

IFINAL-VTWEG = ITAB-VTWEG.

IFINAL-FKIMG = ITAB-FKIMG.

IFINAL-WERKS = ITAB-WERKS.

IFINAL-BISMT = ITAB-BISMT.

IFINAL-LABOR = ITAB-LABOR.

  • IFINAL-DISPO = ITAB-DISPO.

IFINAL-ORT02 = ITAB-ORT02.

IFINAL-ARKTX = ITAB-ARKTX.

IFINAL-NAME1 = ITAB-NAME1.

IFINAL-BEGRU = ITABG2-BEGRU.

IFINAL-KUNAG = ITABG2-KUNAG.

IFINAL-F2VAL = 0.

IFINAL-YF2VAL = 0.

IFINAL-G2VAL = IKONV-KWERT.

APPEND IFINAL.

ELSE.

IFINAL-G2VAL = IFINAL-G2VAL + IKONV-KWERT.

MODIFY IFINAL INDEX SY-TABIX.

ENDIF.

ENDLOOP.

SORT IFINAL BY BEGRU KUNAG.

*Printing Starts

*===============

LOOP AT IFINAL.

  • ON CHANGE OF IFINAL-BEGRU.

  • IF SY-TABIX NE 1.

  • PERFORM CCM_TOT_DISPLAY.

  • ENDIF.

  • ENDON.

IFINAL-CTOT_SALES = IFINAL-F2VAL + IFINAL-YF2VAL.

IFINAL-CTOT_SALES1 = IFINAL-CTOT_SALES - IFINAL-G2VAL.

SELECT SINGLE * FROM ZSD_EMPMST WHERE ECODE EQ IFINAL-BEGRU.

IF SY-SUBRC NE 0. ZSD_EMPMST-ENAME = SPACE. ENDIF.

IFINAL-ENAME = ZSD_EMPMST-ENAME.

SELECT SINGLE * FROM ZTHACLAMAT WHERE MATNR EQ IFINAL-MATNR.

  • READ TABLE CITAB WITH KEY MATNR = ITAB-MATNR.

IF SY-SUBRC EQ 0.

MOVE ZTHACLAMAT-CLINT_999+6(4) TO IFINAL-CLINT_999.

  • APPEND IFINAL.

SELECT SINGLE * FROM ZTHACLA WHERE CLINT_999 EQ ZTHACLAMAT-CLINT_999.

MOVE ZTHACLA-KSCHL TO IFINAL-KSCHL.

MOVE ZTHACLAMAT-USEDIN TO IFINAL-USEDIN.

  • APPEND IFINAL.

ENDIF.

SELECT SINGLE * FROM ZCUG WHERE KUNNR = IFINAL-KUNAG.

IF SY-SUBRC EQ 0.

MOVE ZCUG-NAME1 TO IFINAL-NAME2.

  • APPEND IFINAL.

ENDIF.

  • SNO = SNO + 1.

  • MOVE SNO TO IFINAL-SNO.

  • APPEND IFINAL.

  • CLEAR: IFINAL.

*

*

*

  • SELECT SINGLE * FROM KNA1 WHERE KUNNR = IFINAL-KUNAG.

  • IF SY-SUBRC NE 0. KNA1-NAME1 = SPACE. ENDIF.

  • IFINAL-NAME1 = KNA1-NAME1.

*

  • WRITE:/00(04) IFINAL-BEGRU,

  • 06(24) ZSD_EMPMST-ENAME,

  • 31(10) IFINAL-KUNAG,

  • 42(30) KNA1-NAME1.

  • SET LEFT SCROLL-BOUNDARY.

  • WRITE: 72(15) IFINAL-F2VAL NO-GROUPING,

  • 88(15) IFINAL-YF2VAL NO-GROUPING,

  • 104(15) CTOT_SALES NO-GROUPING,

  • 120(15) IFINAL-G2VAL NO-GROUPING,

  • 136(15) CTOT_SALES1 NO-GROUPING.

*

  • CCM_F2_TOT = CCM_F2_TOT + IFINAL-F2VAL.

  • CCM_YF2_TOT = CCM_YF2_TOT + IFINAL-YF2VAL.

  • CCM_G2_TOT = CCM_G2_TOT + IFINAL-G2VAL.

*APPEND IFINAL.

MODIFY IFINAL INDEX SY-TABIX.

CLEAR IFINAL.

ENDLOOP.

*IF S_USEDIN IS NOT INITIAL.

*

**LOOP AT ALV.

**ENDLOOP.

*DELETE IFINAL WHERE USEDIN NE S_USEDIN.

*

*ENDIF.

*

*write:/''.

*LOOP AT IFINAL.

*

*WRITE:/ IFINAL-BEGRU,IFINAL-ENAME.

*

*ENDLOOP.

  • PERFORM FILL_EVENTSTAB TABLES EVENTSTAB.

  • PERFORM FILL_HEADINGTABLE TABLES HEADING USING 'HEADING'.

  • PERFORM FILL_HEADINGTABLE TABLES HEADING USING 'HEADING1'.

LAYOUT-ZEBRA = 'X'.

*LAYOUT-BOX_FIELDNAME = W_BOXNAM.

LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = LAYOUT

IT_FIELDCAT = AFIELD

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = SORTCAT

    • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

I_SAVE = 'X'

  • IS_VARIANT =

IT_EVENTS = EVENTCAT

  • 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

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IFINAL

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

FORM ALV .

  • FIELDCAT-COL_POS = '1'.

  • FIELDCAT-FIELDNAME = 'BZIRK'.

  • FIELDCAT-TABNAME = 'IFINAL'.

  • FIELDCAT-DO_SUM = 'X'.

  • FIELDCAT-OUTPUTLEN = 6.

  • FIELDCAT-SELTEXT_L = 'ZONE CODE'.

  • APPEND FIELDCAT TO AFIELD.

*

  • FIELDCAT-COL_POS = '2'.

  • FIELDCAT-FIELDNAME = 'BZTXT'.

  • FIELDCAT-TABNAME = 'IFINAL'.

  • FIELDCAT-DO_SUM = 'X'.

  • FIELDCAT-OUTPUTLEN = 20.

  • FIELDCAT-SELTEXT_L = 'ZONE DESCRIPTION'.

  • APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '3'.

FIELDCAT-FIELDNAME = 'BEGRU'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 10.

FIELDCAT-SELTEXT_L = 'CCM CODE'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '4'.

FIELDCAT-FIELDNAME = 'ENAME'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 20.

FIELDCAT-SELTEXT_L = 'CCM NAME'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '5'.

FIELDCAT-FIELDNAME = 'KUNAG'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 10.

FIELDCAT-SELTEXT_L = 'SOLD TO PARTY'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '6'.

FIELDCAT-FIELDNAME = 'NAME2'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 10.

FIELDCAT-SELTEXT_L = 'CUST GROUP'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '7'.

FIELDCAT-FIELDNAME = 'NAME1'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 20.

FIELDCAT-SELTEXT_L = 'CUST NAME'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '8'.

FIELDCAT-FIELDNAME = 'SPART'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 15.

FIELDCAT-SELTEXT_L = 'DIVISION'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '9'.

FIELDCAT-FIELDNAME = 'VTWEG'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 15.

FIELDCAT-SELTEXT_L = 'DISTRIBUTION CHANNEL'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '10'.

FIELDCAT-FIELDNAME = 'WERKS'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 15.

FIELDCAT-SELTEXT_L = 'PLANT'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '11'.

FIELDCAT-FIELDNAME = 'MATNR'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 15.

FIELDCAT-SELTEXT_L = 'MAT NO'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '12'.

FIELDCAT-FIELDNAME = 'LABOR'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 5.

FIELDCAT-SELTEXT_L = 'SOU'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '13'.

FIELDCAT-FIELDNAME = 'DISPO'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 10.

FIELDCAT-SELTEXT_L = 'MRP CONT'.

APPEND FIELDCAT TO AFIELD.

  • FIELDCAT-COL_POS = '13'.

  • FIELDCAT-FIELDNAME = 'ORT02'.

  • FIELDCAT-TABNAME = 'IFINAL'.

  • FIELDCAT-DO_SUM = 'X'.

  • FIELDCAT-OUTPUTLEN = 15.

  • FIELDCAT-SELTEXT_L = 'DISTRICT'.

  • APPEND FIELDCAT TO AFIELD.

*

FIELDCAT-COL_POS = '14'.

FIELDCAT-FIELDNAME = 'ARKTX'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 20.

FIELDCAT-SELTEXT_L = 'MAT DES'.

APPEND FIELDCAT TO AFIELD.

  • FIELDCAT-COL_POS = '15'.

  • FIELDCAT-FIELDNAME = 'NAME1'.

  • FIELDCAT-TABNAME = 'IFINAL'.

  • FIELDCAT-DO_SUM = 'X'.

  • FIELDCAT-OUTPUTLEN = 20.

  • FIELDCAT-SELTEXT_L = 'CUST NAME'.

  • APPEND FIELDCAT TO AFIELD.

*

FIELDCAT-COL_POS = '15'.

FIELDCAT-FIELDNAME = 'FKIMG'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 15.

FIELDCAT-SELTEXT_L = 'QUANTITY'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '16'.

FIELDCAT-FIELDNAME = 'F2VAL'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 15.

FIELDCAT-SELTEXT_L = 'FPS VALUE'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '17'.

FIELDCAT-FIELDNAME = 'YF2VAL'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 15.

FIELDCAT-SELTEXT_L = 'SER.STN VALUE'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '18'.

FIELDCAT-FIELDNAME = 'CTOT_SALES'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 15.

FIELDCAT-SELTEXT_L = 'TOTAL VALUE'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '19'.

FIELDCAT-FIELDNAME = 'G2VAL'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 20.

FIELDCAT-SELTEXT_L = 'CREDIT NOTE VALUE'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '20'.

FIELDCAT-FIELDNAME = 'CTOT_SALES1'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 20.

FIELDCAT-SELTEXT_L = 'FINAL VALUE'.

APPEND FIELDCAT TO AFIELD.

  • FIELDCAT-COL_POS = '22'.

  • FIELDCAT-FIELDNAME = 'CTOT_SALES1'.

  • FIELDCAT-TABNAME = 'IFINAL'.

  • FIELDCAT-DO_SUM = 'X'.

  • FIELDCAT-OUTPUTLEN = 20.

  • FIELDCAT-SELTEXT_L = 'FINAL VALUE'.

  • APPEND FIELDCAT TO AFIELD.

*

FIELDCAT-COL_POS = '21'.

FIELDCAT-FIELDNAME = 'CLINT_999'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 10.

FIELDCAT-SELTEXT_L = 'CATEGORY'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '22'.

FIELDCAT-FIELDNAME = 'KSCHL'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 40.

FIELDCAT-SELTEXT_L = 'CATEGORY NAME'.

APPEND FIELDCAT TO AFIELD.

FIELDCAT-COL_POS = '23'.

FIELDCAT-FIELDNAME = 'USEDIN'.

FIELDCAT-TABNAME = 'IFINAL'.

FIELDCAT-DO_SUM = 'X'.

FIELDCAT-OUTPUTLEN = 10.

FIELDCAT-SELTEXT_L = 'APPLICATION'.

APPEND FIELDCAT TO AFIELD.

  • CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

  • EXPORTING

  • I_CALLBACK_PROGRAM = SY-REPID

  • IS_LAYOUT = LAYOUT

  • IT_FIELDCAT = FIELDCAT

  • I_DEFAULT = 'X'

  • I_SAVE = 'A'

  • IT_EVENTS = EVENTSTAB[]

  • TABLES

  • T_OUTTAB = IFINAL

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

ENDFORM. "GET_VAL

  • PERFORM CCM_TOT_DISPLAY.

  • PERFORM FINAL_TOTAL.

*

*TOP-OF-PAGE.

*WRITE:/ 'CCMwise Sales from:', S_FKDAT-LOW, 'to:', S_FKDAT-HIGH.

*WRITE:50 'Page No:', SY-PAGNO.

*

*IF S_VTWEG-HIGH IS INITIAL.

  • WRITE :/10(10) 'CHANNEL :', S_VTWEG-LOW.

*ELSE.

  • WRITE :/10(14) 'CHANNEL FROM:', S_VTWEG-LOW, 'To:', S_VTWEG-HIGH.

*ENDIF.

*LOOP AT S_VTWEG.

  • IF S_VTWEG-OPTION = 'BT'. CONTINUE. ENDIF.

  • WRITE: ',', S_VTWEG-LOW.

*ENDLOOP.

*IF S_SPART-HIGH IS INITIAL.

  • WRITE :/10(10) 'DIVISION:', S_SPART-LOW.

*ELSE.

  • WRITE :/10(14) 'DIVISION FROM:', S_SPART-LOW, 'To:', S_SPART-HIGH.

*ENDIF.

*LOOP AT S_SPART.

  • IF S_SPART-OPTION = 'BT'. CONTINUE. ENDIF.

  • WRITE: ',', S_SPART-LOW.

*ENDLOOP.

*

*IF S_WERKS-HIGH IS INITIAL.

  • WRITE :/10(10) 'PLANT :', S_WERKS-LOW.

*ELSE.

  • WRITE :/10(14) 'PLANT FROM:', S_WERKS-LOW, 'To:', S_WERKS-HIGH.

*ENDIF.

*LOOP AT S_WERKS.

  • IF S_WERKS-OPTION = 'BT'. CONTINUE. ENDIF.

  • WRITE: ',', S_WERKS-LOW.

*ENDLOOP.

*

*IF S_MATKL-HIGH IS INITIAL.

  • WRITE :/10(10) 'MAT GRP.:', S_MATKL-LOW.

*ELSE.

  • WRITE :/10(14) 'MAT GRP FROM:', S_MATKL-LOW, 'To:', S_MATKL-HIGH.

*ENDIF.

*LOOP AT S_MATKL.

  • IF S_MATKL-OPTION = 'BT'. CONTINUE. ENDIF.

  • WRITE: ',', S_MATKL-LOW.

*ENDLOOP.

*

*WRITE:/ SY-ULINE.

*WRITE:/00(04) 'CCM',

  • 06(24) 'Name' CENTERED,

  • 31(10) 'Cust. Cd.' CENTERED,

  • 42(30) 'Name' CENTERED,

  • 72(15) 'FPS Sales' CENTERED,

  • 88(15) 'Ser. Stn. Sales',

  • 104(15) 'Total Sales',

  • 120(15) 'Credit Note' CENTERED,

  • 136(15) 'Final Total'.

  • IF S_VTWEG-LOW GE '20' AND S_VTWEG-HIGH LE '23'.

  • WRITE:152(15) 'Aft Disc(.9324)'.

  • ENDIF.

*

*WRITE:/ SY-ULINE.

&----


*& Form F_CURR_CON

&----


  • text

----


  • -->P_ITAB_WAERK text *

  • <--P_ITAB_NETWR text *

----


FORM F_CURR_CON USING P_CURR

CHANGING P_VALUE.

DATA CON_CUR TYPE I.

SELECT SINGLE * FROM TCURX WHERE CURRKEY EQ P_CURR.

IF SY-SUBRC EQ 0.

IF P_CURR = 'IDR'.

P_VALUE = P_VALUE * 100.

CON_CUR = SPACE.

ELSE.

CON_CUR = 10 ** ( TCURX-CURRDEC - 2 ).

ENDIF.

ELSE.

IF P_CURR = 'IDR'.

P_VALUE = P_VALUE * 100.

CON_CUR = SPACE.

ENDIF.

ENDIF.

IF NOT CON_CUR IS INITIAL.

P_VALUE = P_VALUE / CON_CUR.

  • P_VALUE = P_VALUE * ITAB-KURRF.

ENDIF.

P_VALUE = P_VALUE * ITAB-KURRF.

ENDFORM. " F_CURR_CON

*&----


**& Form CCM_TOT_DISPLAY

*&----


    • text

*----


    • --> p1 text

    • <-- p2 text

*----


*FORM CCM_TOT_DISPLAY.

  • CCM_TOT = CCM_F2_TOT + CCM_YF2_TOT.

  • CCM_TOT1 = CCM_TOT - CCM_G2_TOT.

  • CCM_DISC = CCM_TOT1 * '0.9324' .

  • WRITE:/ SY-ULINE.

  • WRITE:/30(20) 'CCM Total' COLOR 3.

  • WRITE:72(15) CCM_F2_TOT NO-GROUPING COLOR 3,

  • 88(15) CCM_YF2_TOT NO-GROUPING COLOR 3,

  • 104(15) CCM_TOT NO-GROUPING COLOR 3,

  • 120(15) CCM_G2_TOT NO-GROUPING COLOR 3,

  • 136(15) CCM_TOT1 NO-GROUPING COLOR 3.

  • IF S_VTWEG-LOW GE '20' AND S_VTWEG-HIGH LE '23'.

  • WRITE:152(15) CCM_DISC NO-GROUPING COLOR 3.

  • ENDIF.

  • WRITE:/ SY-ULINE.

*

  • FINAL_F2_TOT = FINAL_F2_TOT + CCM_F2_TOT.

  • FINAL_YF2_TOT = FINAL_YF2_TOT + CCM_YF2_TOT.

  • FINAL_G2_TOT = FINAL_G2_TOT + CCM_G2_TOT.

*

  • CLEAR: CCM_F2_TOT, CCM_YF2_TOT, CCM_TOT, CCM_G2_TOT,

  • CCM_TOT1.

*

*ENDFORM. " CCM_TOT_DISPLAY

*&----


**& Form FINAL_TOTAL

*&----


    • text

*----


    • --> p1 text

    • <-- p2 text

*----


*FORM FINAL_TOTAL.

  • FINAL_TOT = FINAL_F2_TOT + FINAL_YF2_TOT.

  • FINAL_TOT1 = FINAL_TOT - FINAL_G2_TOT.

  • FINAL_DISC = FINAL_TOT1 * '0.9324'.

*

  • WRITE:/30(20) 'Final Total' COLOR 3.

  • WRITE:72(15) FINAL_F2_TOT NO-GROUPING COLOR 3,

  • 88(15) FINAL_YF2_TOT NO-GROUPING COLOR 3,

  • 104(15) FINAL_TOT NO-GROUPING COLOR 3,

  • 120(15) FINAL_G2_TOT NO-GROUPING COLOR 3,

  • 136(15) FINAL_TOT1 NO-GROUPING COLOR 3.

  • IF S_VTWEG-LOW GE '20' AND S_VTWEG-HIGH LE '23'.

  • WRITE:152(15) FINAL_DISC NO-GROUPING COLOR 3.

  • ENDIF.

  • WRITE:/ SY-ULINE.

*

*ENDFORM. " FINAL_TOTAL

&----


*& Form FILL_EVENTSTAB

&----


  • text

----


  • -->P_EVENTSTAB text

----


*FORM FILL_EVENTSTAB TABLES P_EVENTSTAB STRUCTURE EVENTSTAB.

  • CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

  • EXPORTING

  • I_LIST_TYPE = 0

  • IMPORTING

  • ET_EVENTS = P_EVENTSTAB[]

  • EXCEPTIONS

  • LIST_TYPE_WRONG = 1

  • OTHERS = 2.

*

  • READ TABLE P_EVENTSTAB WITH KEY NAME = SLIS_EV_TOP_OF_PAGE.

  • IF SY-SUBRC = 0 .

  • MOVE 'TOP_OF_PAGE' TO P_EVENTSTAB-FORM.

  • APPEND P_EVENTSTAB.

  • ENDIF.

*

*

*ENDFORM. " FILL_EVENTSTAB

*&----


**& Form FILL_HEADINGTABLE

*&----


    • text

*----


    • -->P_HEADING text

    • -->P_1154 text

*----


*

*FORM FILL_HEADINGTABLE TABLES P_HEADING STRUCTURE HEADING

*USING TABLENAME.

    • DATA: BEGIN OF ITAB_H2 OCCURS 100,

    • KURZTEXT(40),

    • END OF ITAB_H2.

  • DATA: H2(250).

  • DATA: S1DAT(2), S2DAT(2), S3DAT(4),

  • S4DAT(2), S5DAT(2), S6DAT(4).

*

  • DATA: FDAT(12),

  • TDAT(12).

*

  • CASE TABLENAME.

  • WHEN 'HEADING'.

  • P_HEADING-TYP = 'H'.

  • S3DAT = S_FKDAT-LOW+0(4).

    • move s3dat to fdat+4(4).

  • S2DAT = S_FKDAT-LOW+4(2).

    • move s2dat to fdat+2(2).

  • S1DAT = S_FKDAT-LOW+6(2).

    • move s1dat to fdat+0(2).

*

  • CONCATENATE S1DAT S2DAT S3DAT INTO FDAT SEPARATED BY '.'.

*

  • S6DAT = S_FKDAT-HIGH+0(4).

    • move s6dat to tdat+4(4).

  • S5DAT = S_FKDAT-HIGH+4(2).

    • move s5dat to tdat+2(2).

  • S4DAT = S_FKDAT-HIGH+6(2).

    • move s4dat to tdat+0(2).

*

*

  • CONCATENATE S4DAT S5DAT S6DAT INTO TDAT SEPARATED BY '.'.

*

*

*

  • CONCATENATE 'SOUWISE SALES FROM ' FDAT 'TO' TDAT INTO HEADINGTEXT1 SEPARATED BY SPACE.

  • P_HEADING-INFO = HEADINGTEXT1.

    • P_HEADING-pos = 'C'.

  • APPEND P_HEADING.

    • WHEN 'HEADING1'.

    • P_HEADING-TYP = 'S'.

    • CONCATENATE 'Division:' S_SPART-LOW INTO P_HEADING-INFO SEPARATED BY ' '.

      • P_HEADING-INFO = headingtext1.

    • APPEND P_HEADING.

*

  • ENDCASE.

*ENDFORM. "FILL_HEADINGTABLE

Thanks,

Shankar