06-26-2008 3:57 PM
hi to all experts,
1)can we declare two ldb in a single program
2) i need a sample code for om reporting ( if anyone could explain it would be great)
3) can we use macros rp* in om reporting if yes how
thanks.
06-26-2008 3:59 PM
Hello,
No, you can only use one LDB in reports.
To get some samples on reporting, access the transaction ABAPDOCU, you can find usefull information at The ABAP Programming Language->Processing Large Datasets->Extracts.
Look at this program to get more informations: demo_logical_database.
Regards.
06-26-2008 3:59 PM
Hello,
No, you can only use one LDB in reports.
To get some samples on reporting, access the transaction ABAPDOCU, you can find usefull information at The ABAP Programming Language->Processing Large Datasets->Extracts.
Look at this program to get more informations: demo_logical_database.
Regards.
06-26-2008 4:33 PM
06-26-2008 5:01 PM
Hi,
No doubt you cannot use two LDB's in a program...
you can do one thing...
at the end of the first program you call the second program by SUBMIT AND RETURN [WITH FREE-SELECTIONS <seltab>
addition... fill the values of second program selection-screeen <seltab> and pass with as stated above extention..
Addition FREE-SELECTION <sel> of SUBMIT AND RETURN is maily used for filling up LDB's selection screen values...
Hope this would help you...
Regards
Narin Nandivada
06-26-2008 5:05 PM
Hi Moazam,
As Narin said u cant use two logical data bases in program.
Because we have option in attributes of the program to choose the logical database.
U can check out all the macros in the Table TRMAC
Please check this come
MOVE i_date TO wa_newdt.
IF NOT i_orgeh IS INITIAL.
SELECT SINGLE objid FROM hrp1000 INTO hrp1000-objid WHERE
plvar = '01' AND
otype = 'O' AND
objid = i_orgeh.
IF sy-subrc NE 0.
RAISE inivalid_orgunit.
EXIT.
ENDIF.
ENDIF.
IF NOT i_pernr IS INITIAL.
SELECT SINGLE orgeh FROM pa0001 INTO wa_orgeh WHERE
pernr = i_pernr AND
* AM8598 - Address delimited org unit issue starts.
* BEGDA <= I_DATE AND
begda <= wa_newdt AND
* ENDDA >= I_DATE.
endda >= wa_newdt.
SELECT SINGLE * FROM hrp1000 WHERE plvar = '01' AND
otype = 'O' AND
objid = wa_orgeh AND
begda LE sy-datum AND
endda GE sy-datum.
IF sy-subrc NE 0.
SELECT * FROM hrp1000 WHERE plvar = '01' AND
otype = 'O' AND
objid = wa_orgeh AND
endda LT sy-datum
ORDER BY endda DESCENDING.
EXIT.
ENDSELECT.
MOVE hrp1000-endda TO wa_newdt.
ENDIF.
DATA: v_subrc LIKE sy-subrc. " MMMOOR1
IF i_flag NE 'P'. " MMMOOR1
SELECT SINGLE sobid INTO hrp1001-sobid
FROM hrp1001
WHERE otype = 'O'
AND objid = wa_orgeh
AND plvar = '01'
AND rsign = 'B'
AND relat = '012'
AND istat = '1'
* AND ENDDA >= I_DATE
AND endda >= wa_newdt
* AND BEGDA <= I_DATE.
AND begda <= wa_newdt.
IF sy-subrc = 0.
SELECT SINGLE * FROM hrp1001
WHERE otype = 'S'
AND objid = hrp1001-sobid
AND plvar = '01'
AND rsign = 'A'
AND relat = '008'
AND istat = '1'
* AND ENDDA >= I_DATE
AND endda >= wa_newdt
* AND BEGDA <= I_DATE.
AND begda <= wa_newdt.
v_subrc = sy-subrc.
MOVE hrp1001-sobid TO e_pernr.
ENDIF.
ELSE.
CLEAR wa_mgrno.
* SELECT SINGLE YYMGRNO
* FROM YHRCM_PLAN_MGR
* INTO WA_MGRNO
* WHERE YYORGID = WA_ORGEH.
SELECT SINGLE sobid INTO hrp1001-sobid
FROM hrp1001
WHERE otype = 'O'
AND objid = wa_orgeh
AND plvar = '01'
AND rsign = 'A'
AND relat = 'Z18'
AND istat = '1'
AND endda >= wa_newdt
AND begda <= wa_newdt.
IF sy-subrc = 0.
SELECT SINGLE sobid INTO l_sobid
FROM hrp1001
WHERE otype = 'S'
AND objid = hrp1001-sobid
AND plvar = '01'
AND rsign = 'A'
AND relat = '008'
AND istat = '1'
AND endda >= wa_newdt
AND begda <= wa_newdt.
v_subrc = sy-subrc.
wa_mgrno = l_sobid.
MOVE wa_mgrno TO e_pernr.
ENDIF.
ENDIF.
IF v_subrc = 0.
SELECT SINGLE * FROM pa0002
WHERE pernr = e_pernr
AND endda >= sy-datum
AND begda <= sy-datum.
IF sy-subrc = 0.
IF NOT pa0002-nach2 IS INITIAL.
CONCATENATE pa0002-nachn '-' pa0002-nach2 ','
INTO e_name.
ELSE.
CONCATENATE pa0002-nachn ',' INTO e_name.
ENDIF.
CONCATENATE e_name pa0002-vorna pa0002-inits
INTO e_name SEPARATED BY space.
ENDIF.
SELECT SINGLE * FROM pa0105
WHERE pernr = e_pernr
AND subty = '0010'
AND endda >= sy-datum
AND begda <= sy-datum.
IF sy-subrc = 0.
e_email = pa0105-usrid_long.
ENDIF.
SELECT SINGLE yymailstop FROM pa0032
INTO pa0032-yymailstop
WHERE pernr = e_pernr
AND endda >= sy-datum
AND begda <= sy-datum.
IF sy-subrc = 0.
e_mailstop = pa0032-yymailstop.
ENDIF.
ENDIF.
IF e_pernr IS INITIAL AND NOT i_get_higher IS INITIAL.
PERFORM get_higher_mgr
USING i_pernr wa_orgeh wa_newdt
CHANGING e_pernr e_name e_email e_mailstop.
ENDIF.
* AN0884 - Get Higher Manager - Ends.
ENDFUNCTION.
Best regards,
raam
06-26-2008 5:10 PM