Application Development 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: 

really urgent: plzz help me

Former Member
0 Kudos

hi,

i am modifying a report in which i have to display the stock on basis of day level.

for that i had divided it and now it is displaying the data on basis pf half of month . i.e. if the date <= 15 of every month then it will display data of last date of month and if it is > = 16 then it will display the stock according to the last date of dis month.

till now data is fine .but now i want to display the data in a way that :-

if date of month < 15 then i should be able to add quantity from mseg to the current value .

and ,if date > 16 then i should be able to subtract quantity from zstocksum (table which stoers the value) .

how can i do dis plzz help me out.

5 REPLIES 5

Former Member
0 Kudos

The date field you are testing is stored as YYYYMMDD. Once you have selected it by month, then you can test the DD field with


  if yourdate+6(2) LE 15.
    ... do something
  else.
    ... do something else
  endif.

Former Member
0 Kudos

data : date like sy-datum.

.

.

.

.

if date+6(2) < 15.

current value = current value + quantity from mseg ...

else.

zstocksum-quantity = zstocksum-quantity - quantity ...

modify zstocksum ....

endif.

0 Kudos

hi,

in dis report i am able to display the stock accoring half month wise i.e. if date < = 15 then it i will display the stock previous month last date and if date >= 16 then it will display the stock of present month last date.

and now,i want to do add data that if it <= 15 (date) then i will be able to add data from mseg and if it is >= 16 (date) then it will subtract the data from zstocksum from the value coming from mseg.

plzz abppaers help me out its my job on he online as help will be definately rewarded.

This is the code right i am using :-

REPORT ZPP_INV_COPY1 NO STANDARD PAGE HEADING LINE-SIZE 150.

TABLES : MARA, MAKT, MARD, MKPF, MSEG, T001L,ZSTOCKSUM.

TYPE-POOLS : SLIS.

DATA : BEGIN OF STIT OCCURS 0,

STLDATE LIKE ZSTOCKSUM-STLDATE,

MATNR LIKE ZSTOCKSUM-MATNR,

WERKS LIKE ZSTOCKSUM-WERKS,

LGORT LIKE ZSTOCKSUM-LGORT,

STSTOCK LIKE ZSTOCKSUM-STSTOCK,

STDEBIT LIKE ZSTOCKSUM-STDEBIT,

STCREDIT LIKE ZSTOCKSUM-STCREDIT,

MEINS LIKE MARA-MEINS,

MTART LIKE MARA-MTART,

MATKL LIKE MARA-MATKL,

NTGEW LIKE MARA-NTGEW,

GEWEI LIKE MARA-GEWEI,

WTKG LIKE MARA-NTGEW,

STOCK TYPE P LENGTH 10 DECIMALS 3,

WT TYPE P LENGTH 12 DECIMALS 3,

END OF STIT.

New code added on 17.03.2008

DATA : BEGIN OF ITMSEG OCCURS 0,

BUDAT LIKE MKPF-BUDAT,

MATNR LIKE MSEG-MATNR,

WERKS LIKE MSEG-WERKS,

LGORT LIKE MSEG-LGORT,

MENGE LIKE MSEG-MENGE,

ERFMG LIKE MSEG-ERFMG,

MEINS LIKE MARA-MEINS,

MTART LIKE MARA-MTART,

MATKL LIKE MARA-MATKL,

NTGEW LIKE MARA-NTGEW,

GEWEI LIKE MARA-GEWEI,

WTKG LIKE MARA-NTGEW,

MJAHR LIKE MSEG-MJAHR,

STOCK TYPE P LENGTH 10 DECIMALS 3,

WT TYPE P LENGTH 12 DECIMALS 3,

END OF ITMSEG.

end of new code

DATA : BEGIN OF SLIT OCCURS 0,

LGORT LIKE T001L-LGORT,

LGOBE LIKE T001L-LGOBE,

ROH TYPE P LENGTH 12 DECIMALS 3,

ZBOP TYPE P LENGTH 12 DECIMALS 3,

FERT TYPE P LENGTH 12 DECIMALS 3,

HALB TYPE P LENGTH 12 DECIMALS 3,

ZSCR TYPE P LENGTH 12 DECIMALS 3,

TOT TYPE P LENGTH 12 DECIMALS 3,

crrow type P length 3,

END OF SLIT.

DATA : ITAB LIKE STIT OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF ITAB1 OCCURS 0,

MTART LIKE MARA-MTART,

END OF ITAB1.

*****OLD ITAB2*****

**DATA : BEGIN OF ITAB2 OCCURS 0,

    • LGORT LIKE MSEG-LGORT,

    • END OF ITAB2.

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

*****NEW ITAB2****

DATA : BEGIN OF ITAB2 OCCURS 0,

LGORT LIKE ZSTOCKSUM-LGORT,

END OF ITAB2.

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

DATA : V_QTY TYPE P LENGTH 12 DECIMALS 3,

V_QTY1 TYPE P LENGTH 12 DECIMALS 3,

V_ALV TYPE C,

V_MAXROW TYPE P LENGTH 3.

AT LINE-SELECTION.

DATA : V_COL TYPE N LENGTH 3,

V_ROW TYPE N LENGTH 3,

V_RHDR LIKE T001L-LGORT,

V_CHDR LIKE MARA-MTART,

w_msg TYPE string.

IF SY-LSIND = 1.

V_COL = SY-CUCOL.

V_ROW = SY-CUROW.

V_RHDR = ''.

V_CHDR = ''.

PERFORM GET_PARM.

IF V_ROW <> 999.

PERFORM PRN_ITSTOCK.

ENDIF.

endif.

start-of-selection.

selection-screen begin of block par1 WITH FRAME TITLE TEXT-001.

*PARAMETERS : P_DATE LIKE MKPF-BUDAT OBLIGATORY DEFAULT sy-datum.

*PARAMETERS : P_WERKS LIKE MSEG-WERKS DEFAULT 'MFPL'.

data: aa type sy-datum.

parameters: p_date LIKE ZSTOCKSUM-STLDATE default sy-datum.

data: num type i,

w_date type d.

aa = p_date.

num = p_date+6(2).

if num <= 15.

p_date+6(2) = 01.

w_date = p_date - 1.

elseif num => 16.

p_date = p_date + 30.

p_date+6(2) = 01.

w_date = p_date - 1.

endif.

PARAMETERS : P_WERKS LIKE ZSTOCKSUM-WERKS DEFAULT 'MFPL'.

SELECT-OPTIONS : MAT_TYPE FOR MARA-MTART.

****SELECT-OPTIONS : P_MATNR FOR MSEG-MATNR.

****SELECT-OPTIONS : P_STLOC FOR MSEG-LGORT.

SELECT-OPTIONS : P_MATNR FOR ZSTOCKSUM-MATNR.

SELECT-OPTIONS : P_STLOC FOR ZSTOCKSUM-LGORT.

*

SELECTION-SCREEN END OF BLOCK par1.

***SELECTION-SCREEN BEGIN OF BLOCK OPSC

***WITH FRAME TITLE TEXT-002.

***

***SELECTION-SCREEN BEGIN OF LINE.

***PARAMETERS ALV RADIOBUTTON GROUP OP.

***SELECTION-SCREEN COMMENT 4(13) TEXT-011 FOR FIELD ALV.

***SELECTION-SCREEN END OF LINE.

***

***SELECTION-SCREEN BEGIN OF LINE.

***PARAMETERS SCR RADIOBUTTON GROUP OP DEFAULT 'X'.

***SELECTION-SCREEN COMMENT 4(13) TEXT-012 FOR FIELD SCR.

***SELECTION-SCREEN END OF LINE.

***SELECTION-SCREEN END OF BLOCK OPSC.

AUTHORITY-CHECK OBJECT 'ZPLANT1'

ID 'WERKS' FIELD P_WERKS.

IF sy-subrc <> 0.

MESSAGE e045(zmsg) WITH P_WERKS.

ENDIF.

PERFORM GET_INI_DATA.

PERFORM GET_GRP_DATA.

V_ALV ='N'.

PERFORM PRN_SMSTOCK_TXT.

&----


*& Form GET_INI_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form GET_INI_DATA .

****ORG****

  • SELECT AMATNR BWERKS BLGORT AMEINS AMTART AMATKL ANTGEW AGEWEI A~NTGEW

  • FROM MARA AS A INNER JOIN MSEG AS B ON AMATNR = BMATNR

  • INTO TABLE ITAB

  • WHERE B~WERKS = P_WERKS

  • AND A~MATNR IN P_MATNR

  • AND ( MTART = 'FERT' OR MTART = 'HALB' OR MTART = 'ZBOP' OR MTART = 'ZSCR' OR MTART = 'ROH' )

  • AND MTART IN MAT_TYPE

  • GROUP BY AMATNR BWERKS BLGORT AMEINS AMTART AMATKL ANTGEW AGEWEI A~NTGEW.

***PREV CHANGE***

    • SELECT BBUDAT AMATNR AWERKS ALGORT AMENGE AMEINS AERFMG AERFME ASHKZG ABWART

    • CMTART CMATKL CNTGEW CGEWEI C~NTGEW

    • FROM MSEG AS A INNER JOIN MKPF AS B ON AMBLNR = BMBLNR AND AMJAHR = BMJAHR

    • INNER JOIN MARA AS C ON AMATNR = CMATNR

    • INTO TABLE STIT

    • WHERE AWERKS = P_WERKS AND AMATNR IN P_MATNR AND BUDAT <= P_DATE

    • AND MTART IN MAT_TYPE

    • AND ( MTART = 'FERT' OR MTART = 'HALB' OR MTART = 'ZBOP' OR MTART = 'ZSCR' OR MTART = 'ROH' )

    • AND A~LGORT IN P_STLOC.

********NEW CHANGE AS ON 16.03.2008*******

SELECT ASTLDATE AMATNR AWERKS ALGORT ASTDEBIT ASTCREDIT

BMEINS BMTART BMATKL BNTGEW B~GEWEI

FROM ZSTOCKSUM AS A

INNER JOIN MARA AS B ON AMATNR = BMATNR

INTO TABLE STIT

WHERE AWERKS = P_WERKS AND MTART IN MAT_TYPE AND AMATNR IN P_MATNR AND STLDATE <= P_DATE

AND ( MTART = 'FERT' OR MTART = 'HALB' OR MTART = 'ZBOP' OR MTART = 'ZSCR' OR MTART = 'ROH' )

AND A~LGORT IN P_STLOC.

SELECT BBUDAT AMATNR AWERKS ALGORT AMENGE AERFMG

CMEINS CMTART CMATKL CNTGEW CGEWEI AMJAHR

FROM MSEG AS A INNER JOIN MKPF AS B ON AMBLNR = BMBLNR AND AMJAHR = BMJAHR

INNER JOIN MARA AS C ON AMATNR = CMATNR

INTO TABLE ITMSEG WHERE AWERKS = P_WERKS AND MTART IN MAT_TYPE AND AMATNR IN P_MATNR AND BUDAT <= P_DATE

AND ( MTART = 'FERT' OR MTART = 'HALB' OR MTART = 'ZBOP' OR MTART = 'ZSCR' OR MTART = 'ROH' )

AND A~LGORT IN P_STLOC.

INSERT LINES OF ITMSEG INTO TABLE STIT.

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

ITAB[] = STIT[].

SORT ITAB BY MATNR WERKS LGORT MEINS MTART MATKL NTGEW GEWEI NTGEW.

DELETE ADJACENT DUPLICATES FROM ITAB COMPARING MATNR WERKS LGORT MEINS MTART MATKL NTGEW GEWEI NTGEW.

SORT STIT BY MATNR LGORT.

SORT ITAB BY MATNR LGORT.

LOOP AT ITAB.

V_QTY = 0.

V_QTY1 = 0.

*************************PREVIOUS**********************s*

    • LOOP AT STIT WHERE MATNR = ITAB-MATNR AND LGORT = ITAB-LGORT.

    • IF STIT-SHKZG = 'S'.

    • V_QTY = V_QTY + STIT-MENGE.

    • V_QTY1 = V_QTY1 + STIT-ERFMG.

    • ELSE.

    • V_QTY = V_QTY - STIT-MENGE.

    • V_QTY1 = V_QTY1 - STIT-ERFMG.

    • ENDIF.

    • ENDLOOP.

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

*************************NEW*****************************

LOOP AT STIT WHERE MATNR = ITAB-MATNR AND LGORT = ITAB-LGORT.

V_QTY = V_QTY + STIT-STDEBIT - STIT-STCREDIT.

ENDLOOP.

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

IF V_QTY <> 0.

ITAB-STOCK = V_QTY.

IF ITAB-NTGEW <> 0 AND ITAB-GEWEI <> 'KG'.

CALL FUNCTION 'ZGET_ITEM_WEIGHT'

EXPORTING

P_BUID = ITAB-WERKS

P_ITEMID = ITAB-MATNR

P_QTY = ITAB-NTGEW

P_UOM = ITAB-GEWEI

P_UOM1 = 'KG'

IMPORTING

P_RETVAL = ITAB-WTKG.

  • ENDIF.

ENDIF.

  • CONVERTING ITEM QTY IN KG

ITAB-WT = ITAB-STOCK.

IF ITAB-MEINS = 'G'.

ITAB-WT = ITAB-STOCK / 1000000.

ELSEIF ITAB-MEINS = 'KG'.

ITAB-WT = ITAB-STOCK / 1000.

ELSEIF ITAB-MEINS <> 'TO'.

ITAB-WT = ITAB-STOCK * ITAB-WTKG / 1000.

ENDIF.

MODIFY ITAB.

ENDIF.

ENDLOOP.

endform. " GET_INI_DATA

&----


*& Form GET_GRP_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form GET_GRP_DATA .

SELECT LGORT LGOBE FROM T001L INTO TABLE SLIT WHERE WERKS = P_WERKS.

SORT SLIT BY LGORT.

SORT ITAB BY LGORT MTART.

LOOP AT SLIT.

LOOP AT ITAB WHERE MTART = 'ROH' AND LGORT = SLIT-LGORT AND STOCK <> 0.

SLIT-ROH = SLIT-ROH + ITAB-WT.

ENDLOOP.

LOOP AT ITAB WHERE MTART = 'ZBOP' AND LGORT = SLIT-LGORT AND STOCK <> 0.

SLIT-ZBOP = SLIT-ZBOP + ITAB-WT.

ENDLOOP.

LOOP AT ITAB WHERE MTART = 'HALB' AND LGORT = SLIT-LGORT AND STOCK <> 0.

SLIT-HALB = SLIT-HALB + ITAB-WT.

ENDLOOP.

LOOP AT ITAB WHERE MTART = 'FERT' AND LGORT = SLIT-LGORT AND STOCK <> 0.

SLIT-FERT = SLIT-FERT + ITAB-WT.

ENDLOOP.

LOOP AT ITAB WHERE MTART = 'ZSCR' AND LGORT = SLIT-LGORT AND STOCK <> 0.

SLIT-ZSCR = SLIT-ZSCR + ITAB-WT.

ENDLOOP.

SLIT-TOT = SLIT-ROH + SLIT-ZBOP + SLIT-HALB + SLIT-FERT + SLIT-ZSCR.

IF SLIT-TOT = 0.

DELETE SLIT.

ELSE.

MODIFY SLIT.

ENDIF.

ENDLOOP.

endform. " GET_GRP_DATA

&----


*& Form PRN_ITSTOCK

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form PRN_ITSTOCK .

Data : hdr type c length 100,

V_PTYPE LIKE MARA-MTART,

V_PSTLOC LIKE MSEG-LGORT,

V_ITEM LIKE MAKT-MAKTX,

T_QTY1 TYPE P LENGTH 12 DECIMALS 3,

T_QTY2 TYPE P LENGTH 12 DECIMALS 3,

T_QTY3 TYPE P LENGTH 12 DECIMALS 3,

T_WT1 TYPE P LENGTH 12 DECIMALS 3,

T_WT2 TYPE P LENGTH 12 DECIMALS 3,

T_WT3 TYPE P LENGTH 12 DECIMALS 3.

hdr = 'INVENTORY REPORT '.

IF V_CHDR = 'ROH'.

CONCATENATE HDR '(RAW MATERIAL) ' INTO HDR.

ELSEIF V_CHDR = 'ZBOP'.

CONCATENATE HDR '(BOP) ' INTO HDR.

ELSEIF V_CHDR = 'HALB'.

CONCATENATE HDR '(SEMI-FININSHED GOODS) ' INTO HDR.

ELSEIF V_CHDR = 'FERT'.

CONCATENATE HDR '(FINISHED GOODS) ' INTO HDR.

ELSEIF V_CHDR = 'ZSCR'.

CONCATENATE HDR '(SCRAP) ' INTO HDR.

ENDIF.

WRITE : / HDR.

uline.

*WRITE : / ' ITEM ID DESCRIPTION UOM GRP ITEM WT (KG.) STOCK QTY. STOCK TONS'.

WRITE : / ' ITEM ID DESCRIPTION UOM GROUP NET.WT. STOCK QTY. STOCK (TONS)'.

ULINE.

SORT ITAB BY MTART LGORT MATNR.

T_QTY1 = 0.

T_WT1 = 0.

LOOP AT ITAB1.

WRITE : / 'MATERIAL TYPE : ', ITAB1-MTART.

T_QTY2 = 0.

T_WT2 = 0.

LOOP AT ITAB2.

WRITE : / ' STORAGE LOCATION : ' , ITAB2-LGORT.

T_QTY3 = 0.

T_WT3 = 0.

LOOP AT ITAB WHERE MTART = ITAB1-MTART AND LGORT = ITAB2-LGORT.

SELECT SINGLE MAKTX FROM MAKT INTO V_ITEM WHERE MATNR = ITAB-MATNR.

WRITE : / ' ' ,(8) ITAB-MATNR,(40) V_ITEM,(3) ITAB-MEINS,' ', ITAB-MATKL, ' ',(10) ITAB-WTKG,(13) ITAB-STOCK, (13) ITAB-WT.

T_QTY3 = T_QTY3 + ITAB-STOCK.

T_WT3 = T_WT3 + ITAB-WT.

ENDLOOP.

T_QTY2 = T_QTY2 + T_QTY3.

T_WT2 = T_WT2 + T_WT3.

WRITE : / ' -


'.

WRITE : / ' TOTAL : ',(13) T_QTY3, (13) T_WT3.

WRITE : / ' -


'.

ENDLOOP.

T_QTY1 = T_QTY1 + T_QTY2.

T_WT1 = T_WT1 + T_WT2.

  • WRITE : / ' ----------------------------'.

WRITE : / ' TOTAL : ',(13) T_QTY2, (13) T_WT2.

WRITE : / ' -


'.

ENDLOOP.

*WRITE : / ' -


'.

WRITE : / ' GRAND TOTAL : ',(13) T_QTY1, (13) T_WT1.

WRITE : / ' -


'.

endform. " PRN_ITSTOCK

&----


*& Form PRN_SMSTOCK

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form PRN_SMSTOCK_TXT .

DATA : Q TYPE P LENGTH 12 DECIMALS 3,

TROH TYPE P LENGTH 12 DECIMALS 3,

TBOP TYPE P LENGTH 12 DECIMALS 3,

THALB TYPE P LENGTH 12 DECIMALS 3,

TFERT TYPE P LENGTH 12 DECIMALS 3,

TSCR TYPE P LENGTH 12 DECIMALS 3,

TSL TYPE P LENGTH 12 DECIMALS 3.

WRITE : / 'INVENTORY REPORT AS ON : ', aa , ' PLANT : ', P_WERKS, ' PRINTING DATE : ', SY-DATUM, ' CONTROL NO.: FM 888 REV-00'.

WRITE : / '(in Tons)', 121 'DATE : 20.11.07'.

ULINE.

FORMAT COLOR COL_GROUP ON.

WRITE : / SY-VLINE,(10) 'ST.LOC.', SY-VLINE, (25) 'ST. LOCATION ', SY-VLINE, (15) 'RAW MATERIAL', SY-VLINE, (15) ' BOP', SY-VLINE, (15) 'FIN. GOODS',

SY-VLINE, (15) 'WIP GOODS', SY-VLINE, (15) 'SCRAPS', SY-VLINE, (15) ' TOTAL ', SY-VLINE.

ULINE.

TROH = 0.

TBOP = 0.

THALB = 0.

TFERT = 0.

TSCR = 0.

FORMAT COLOR COL_NORMAL ON.

LOOP AT SLIT.

Q = SLIT-ROH + SLIT-ZBOP + SLIT-FERT + SLIT-HALB + SLIT-ZSCR.

IF Q <> 0.

  • TSL = SLIT-ROH + SLIT-ZBOP + SLIT-HALB + SLIT-FERT + SLIT-ZSCR.

WRITE : / SY-VLINE,(10) SLIT-LGORT, SY-VLINE, (25) SLIT-LGOBE, SY-VLINE, (13) SLIT-ROH,' ', SY-VLINE, (13) SLIT-ZBOP, ' ', SY-VLINE, (13) SLIT-FERT, ' ',

SY-VLINE,(13) SLIT-HALB, ' ', SY-VLINE,(13) SLIT-ZSCR, ' ',SY-VLINE,(13) SLIT-TOT, ' ',SY-VLINE.

ULINE.

TROH = TROH + SLIT-ROH.

TBOP = TBOP + SLIT-ZBOP.

THALB = THALB + SLIT-HALB.

TFERT = TFERT + SLIT-FERT.

TSCR = TSCR + SLIT-ZSCR.

SLIT-CRROW = SY-LINNO - 2.

MODIFY SLIT.

V_MAXROW = SLIT-CRROW.

  • WRITE : SLIT-FERT, SLIT-HALB, SLIT-ZSCR.

ENDIF.

ENDLOOP.

TSL = TROH + TBOP + THALB + TFERT + TSCR.

WRITE : / SY-VLINE, (38) 'T O T A L ', SY-VLINE, (13) TROH,' ', SY-VLINE, (13) TBOP, ' ', SY-VLINE, (13) TFERT, ' ',

SY-VLINE,(13) THALB, ' ', SY-VLINE,(13) TSCR, ' ',SY-VLINE,(13) TSL, ' ',SY-VLINE.

ULINE.

endform. " PRN_SMSTOCK

&----


*& Form PRN_SMSTOCK_ALV

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form PRN_SMSTOCK_ALV .

endform.

form user_command using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

ENDFORM.

&----


*& Form GET_PARM

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form GET_PARM .

CLEAR ITAB1.

REFRESH ITAB1.

IF V_COL > 44.

IF V_COL >= 44 AND V_COL <= 60.

V_CHDR = 'ROH'.

ITAB1-MTART = V_CHDR.

APPEND ITAB1.

ELSEIF V_COL >= 62 AND V_COL <= 78.

V_CHDR = 'ZBOP'.

ITAB1-MTART = V_CHDR.

APPEND ITAB1.

ELSEIF V_COL >= 80 AND V_COL <= 96.

V_CHDR = 'FERT'.

ITAB1-MTART = V_CHDR.

APPEND ITAB1.

ELSEIF V_COL >= 98 AND V_COL <= 114.

V_CHDR = 'HALB'.

ITAB1-MTART = V_CHDR.

APPEND ITAB1.

ELSEIF V_COL >= 116 AND V_COL <= 132.

V_CHDR = 'ZSCR'.

ITAB1-MTART = V_CHDR.

APPEND ITAB1.

ELSEIF V_COL >= 134 AND V_COL <= 160.

V_CHDR = 'TOT'.

ITAB1-MTART = 'ROH'.

APPEND ITAB1.

ITAB1-MTART = 'ZBOP'.

APPEND ITAB1.

ITAB1-MTART = 'FERT'.

APPEND ITAB1.

ITAB1-MTART = 'HALB'.

APPEND ITAB1.

ITAB1-MTART = 'ZSCR'.

APPEND ITAB1.

ENDIF.

CLEAR ITAB2.

REFRESH ITAB2.

READ TABLE SLIT WITH KEY CRROW = V_ROW.

IF SY-SUBRC = 0.

V_RHDR = SLIT-LGORT.

ITAB2-LGORT = V_RHDR.

APPEND ITAB2.

ELSE.

IF V_ROW > V_MAXROW.

IF V_CHDR <> 'TOT'.

DATA : PTXT LIKE MSEG-LGORT.

SORT ITAB BY MTART LGORT.

PTXT = ''.

LOOP AT ITAB WHERE MTART = V_CHDR AND STOCK <> 0.

IF PTXT <> ITAB-LGORT.

ITAB2-LGORT = ITAB-LGORT.

APPEND ITAB2.

PTXT = ITAB-LGORT.

ENDIF.

ENDLOOP.

ELSE.

V_ROW = 999.

ENDIF.

ELSE.

V_ROW = 999.

CLEAR ITAB1.

REFRESH ITAB1.

ENDIF.

ENDIF.

ELSE.

V_CHDR = ''.

V_RHDR = ''.

ENDIF.

endform. " GET_PARM

Edited by: ric .s on Mar 17, 2008 8:01 PM

0 Kudos

Hi John,

smartform limits the output to 255 chars. Symbols are the same as in sapscript. You may split the field in 2 parts, i.e. v1 = longfield(255) and v2 = longfield+255. then output as &v1&&v2&.

Regards,

Clemens

0 Kudos

Hi ric,

please enclose code in \

...\

pairs to increase readanility.

please use an appropriate subject.

please tell what you get now and what you want.

Then I may consider analysis.

Regards,

Clemens