‎2009 Sep 22 12:05 PM
hi expert ,
in below code values are not comes into ITAB_TXTLINES ( WA_DATA ) . we use a standard program cm50 tcode . into
customize program memory but values is not coming into wa.
values(arbpl ,werks,kapar,planr)
this is my first time i use standard progarm
so plz help
REPORT ZPP_CM50 LINE-SIZE 170..
TYPE-POOLS : SLIS.
DATA : INT_CAT TYPE SLIS_FIELDCAT_ALV,
INT_FCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA : LS_LINE TYPE SLIS_LISTHEADER,
VN_TOP TYPE SLIS_T_LISTHEADER,
IT_SORT TYPE SLIS_T_SORTINFO_ALV,
WA_SORT LIKE LINE OF IT_SORT.
DATA : LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: BEGIN OF SLIST_LISTLINE,
LINE(1024) TYPE C,
END OF SLIST_LISTLINE.
DATA: ITAB_TXTLINES LIKE SLIST_LISTLINE OCCURS 0 WITH HEADER LINE.
TABLES : CRHD , KAKO .
DATA: BEGIN OF ITAB_DATA OCCURS 0,
AA(20),LEVEL(20),ITEM(20),OBJ(20),OBJID(20),
OBJDES(20),OVRFLW(20),QTY(20),UOM(20),ICT(20),
END OF ITAB_DATA.
DATA : WA_DATA LIKE ITAB_DATA.
DATA: TEXT TYPE C LENGTH 10,
RSPAR_TAB TYPE TABLE OF RSPARAMS,
RSPAR_LINE LIKE LINE OF RSPAR_TAB,
RANGE_TAB LIKE RANGE OF TEXT,
RANGE_LINE LIKE LINE OF RANGE_TAB.
*DATA: TEXT TYPE C LENGTH 10,
RSPAR_TAB TYPE TABLE OF RSPARAMS,
RSPAR_LINE LIKE LINE OF RSPAR_TAB.
RANGE_TAB LIKE RANGE OF TEXT,
RANGE_LINE LIKE LINE OF RANGE_TAB.
DATA : LIST_TAB TYPE TABLE OF ABAPLIST.
SELECTION-SCREEN : BEGIN OF BLOCK ABC WITH FRAME TITLE TLT.
SELECTION-SCREEN SKIP 1.
*SELECT-OPTIONS ARBPL FOR CRHD-ARBPL.
SELECT-OPTIONS WERKS FOR CRHD-WERKS.
SELECT-OPTIONS KAPAR FOR KAKO-KAPAR.
SELECT-OPTIONS PLANR FOR KAKO-PLANR.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN : END OF BLOCK ABC.
START-OF-SELECTION.
*RSPAR_LINE-SELNAME = 'TRUST_ID'.
RSPAR_LINE-KIND = 'P'.
RSPAR_LINE-LOW = 'RPF1'."'VD06011013'.
APPEND RSPAR_LINE TO RSPAR_TAB.
CLEAR RSPAR_LINE.
*
RSPAR_LINE-SELNAME = 'YEAR'.
RSPAR_LINE-KIND = 'P'.
RSPAR_LINE-LOW = '2009'.
APPEND RSPAR_LINE TO RSPAR_TAB.
CLEAR RSPAR_LINE.
RSPAR_LINE-SELNAME = 'REPONAME'.
RSPAR_LINE-KIND = 'P'.
RSPAR_LINE-LOW = 'FORM3A'.
APPEND RSPAR_LINE TO RSPAR_TAB.
CLEAR RSPAR_LINE.
SUBMIT RCCRY000 EXPORTING LIST TO MEMORY
USING SELECTION-SCREEN '1000'
WITH CRHARBPL-LOW EQ ARBPL
WITH CRHWERKS-LOW EQ WERKS
WITH KAKKAPAR-LOW EQ KAPAR
WITH KAKPLANR-LOW EQ PLANR
AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
LISTOBJECT = LIST_TAB
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
CALL FUNCTION 'LIST_TO_ASCI'
EXPORTING
LIST_INDEX = -1
WITH_LINE_BREAK = ' '
TABLES
LISTASCI = ITAB_TXTLINES
LISTOBJECT = LIST_TAB
EXCEPTIONS
EMPTY_LIST = 1
LIST_INDEX_INVALID = 2
OTHERS = 3.
LOOP AT ITAB_TXTLINES . "from 5.
CLEAR WA_DATA.
SPLIT ITAB_TXTLINES AT '|' INTO: WA_DATA-AA
WA_DATA-LEVEL
WA_DATA-ITEM
WA_DATA-OBJ
WA_DATA-OBJID
WA_DATA-OBJDES
WA_DATA-OVRFLW
WA_DATA-QTY
WA_DATA-UOM
WA_DATA-ICT.
IF ITAB_TXTLINE-SY-INDEX .
then
DO 4 TIMES.
REPLACE '.' IN WA_DATA-LEVEL WITH SPACE.
ENDDO.
*DELETE ITAB_DATA-INDEX=1." WHERE WA_DATA = ITAB_DATA.
CONDENSE WA_DATA-LEVEL.
*
IF NOT WA_DATA-LEVEL IS INITIAL and not WA_DATA-LEVEL cp 'Emp*'.
APPEND WA_DATA TO ITAB_DATA.
ENDIF.
ENDIF.
ENDLOOP.
thanks.
‎2009 Sep 22 12:57 PM
Hi,
CM50 is generated from CM10 main program for parameter 'M'. It generates it on the runtime and exports values into memory. It's less likely you will be able to generate the whole set into a Z Program.
I didn't find a function module to do so. But, with your consultants help you can create your own function module that gives results similar to CM50, it's merely calculation of capacity of workcenters for a period using the sales order booked against the work centers in that period. If you try a bit you can create it.
Good luck.
Also remember, before you post a code, use ...