06-22-2007 11:35 AM
hi Experts,
i am coding a report where in i need to move the data from a table YARC0L2 TO YARC0L2B IS THE condition satisfied.i have used No ranges to read RECID and RUNID, plz suggest me how to code the( PLZ GO THROUH THE BELOW CODE)
<b>Only the RUNID once at the beginning of the program, but get the RECID before each insert in the YARCL02B table</b>
PLZ ALSO SUGGEST HOW TO INITIALIZE AGAIN THE NO RANGE OBJECT( TALL ME THE fm)
DATA: TA_DOCSET_RES TYPE TABLE OF Y4ARCV_DOCSET_R,
WA_DOCSET_RES TYPE Y4ARCV_DOCSET_R.
DATA: TODAY TYPE DATS.
DATA: RESULT TYPE DATS.
TODAY = SY-DATUM.
SELECT * FROM Y4ARCV_DOCSET_R
INTO CORRESPONDING FIELDS OF TABLE TA_DOCSET_RES.
LOOP AT TA_DOCSET_RES INTO WA_DOCSET_RES.
TNAME = TA_DOCSET_RES-TABNAME.
CREATE DATA DREF TYPE (TNAME).
ASSIGN DREF->* TO <F>.
<b>PERFORM GET_NEXT_NUM CHANGING RECID.</b>
SELECT * FROM (TNAME) INTO <F>.
MOVE-CORRESPONDING <F> TO WA_BACKUP.
WA_BACKUP-RUNID = RUNID.
WA_BACKUP-RECID = RECID.
RESULT = TODAY - WA_BACKUP-FKDAT.
Need to check against the cases
first condition LIVE
second condition is to check the cases via object
IF RESULT GT WA_DOCSET_RES-LIFE.
INSERT YARCL02B FROM WA_BACKUP.
ELSE.
MESSAGE E000(YMSG_ARC).
ENDIF.
ENDSELECT.
ENDLOOP.
FORM GET_NEXT_NUM CHANGING RUNID RECID.
DATA: NUMBER1 TYPE C,
NUMBER2 TYPE C,
RC1 TYPE INRI-RETURNCODE,
RC2 TYPE INRI-RETURNCODE.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = '01'
OBJECT = 'Y4ARC_NR_R'
QUANTITY = '1'
SUBOBJECT = ' '
TOYEAR = '0000'
IGNORE_BUFFER = ' '
IMPORTING
NUMBER = NUMBER1
RETURNCODE = RC1
EXCEPTIONS
INTERVAL_NOT_FOUND = 1
NUMBER_RANGE_NOT_INTERN = 2
OBJECT_NOT_FOUND = 3
QUANTITY_IS_0 = 4
QUANTITY_IS_NOT_1 = 5
INTERVAL_OVERFLOW = 6
BUFFER_OVERFLOW = 7
OTHERS = 8
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = '01'
OBJECT = 'Y4ARC_NR_C'
IMPORTING
NUMBER = NUMBER2
RETURNCODE = RC2
EXCEPTIONS
INTERVAL_NOT_FOUND = 1
NUMBER_RANGE_NOT_INTERN = 2
OBJECT_NOT_FOUND = 3
QUANTITY_IS_0 = 4
QUANTITY_IS_NOT_1 = 5
INTERVAL_OVERFLOW = 6
BUFFER_OVERFLOW = 7
OTHERS = 8.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
PLZ HELP ME...
<b></b><b></b>
06-22-2007 11:49 AM
Hi,
Check your number range object has the intervals defined and also check if you have supplied the initial and final value for the interval.
Regards,
sesh