InfoCube QM Status=Green before Reporting on BPS Cube
Matez,
As I understand, that an InfoCube needs to have it`s QM status to be =Green, before any query can be executed on the Info Cube.
So, for BPS Cubes, as I understand that the QM Status will only turn Green once, 50000 records has been written .
Please advice if I`m able to report on the BPS INfoCube while the Status QM = Yellow
Thanking in advance !
As Anurag mentions, for queries that need to pick up the most recent information from an open (yellow) Request, you need to include the Most Recent Data variable.
As I recall, what happens is there is one database query the reads the open request and another that reads the rest of the fact table ( or two if you have compressed some of the Requests into the E fact table.
If you have an aggregate created on the transaction cube, the BW is smart enough to go get the data from the open Request and then get the rest of the data from the aggregate.
Similar Messages
-
Hi All:
In BPS Cube when the request is yellow Iu2019m able to report on it by adding variable (All Data) on Request ID in the Query. Is this going to effect the performance, whatu2019s the mechanism behind using this variable? If I have 50 requests in the Cube is it going to read all the requests and find the request what I want in the Query? please explain in detail.
Thanks a lot!
Manasa.Hi Manasa,
Regarding your case ..
There is method to change the status from yellow to green automatically.
You can use process chain (tx: RSPC), there is process node to change the cube from planning type to load type (it's grouped in Other BW Processes). .
After you create the process chain, you can trigger the process chain by function: RSPC_API_CHAIN_START
With this method, you can activate your report from cube planning.
Hopefully it can help you a lot.
Regards,
Niel. -
Before Report Trigger Not Firing
Hi Trying to Fire before report trigger in this piece of code, Calling in on XML Publisher 5.6.3 and running on XDODTEXE
The function its calling is a boolean... Can anyone see a problem with the xml calling the function....
<?xml version = '1.0' encoding = 'UTF-8'?>
<dataTemplate name="EXPENSES" defaultpackage="OO_HR_OO_GENERAL" version="1.0">
<parameters>
<parameter name="P_VACANCY_ID" dataType = "number" defaultValue=""></parameter>
</parameters>
<dataQuery>
<sqlStatement name="Q1">
<![CDATA[SELECT
PPD.SEGMENT16 UPN
,(SELECT meaning
FROM fnd_lookup_values
WHERE lookup_type = 'NR_REORG_NAME'
AND lookup_code = pos.attribute21) RE_ORG_NAME
,pv.name VACANCY_NAME
,HR_GENERAL.DECODE_JOB(PV.JOB_ID) JOB_NAME
,HR_GENERAL.DECODE_ORGANIZATION(PV.ORGANIZATION_ID) DEPT
,PANEL_MEMBERS.PANEL_MEMBER
,PANEL_MEMBERS.PANEL_START_TIME
,PANEL_MEMBERS.PANEL_START_DATE
,PANEL_MEMBERS.INTERVIEW_LOC
from hr_all_positions_f POS,
per_position_definitions PPD,
PER_ALL_VACANCIES PV,
(SELECT prec2.attribute4 PANEL_MEMBER
,prec2.attribute2 PANEL_START_TIME
,to_char(fnd_date.canonical_to_date(prec2.attribute1),'DD-MON-YYYY') PANEL_START_DATE
,hr_general.decode_location(prec2.attribute3) INTERVIEW_LOC
,PREC1.VACANCY_ID
FROM
PER_RECRUITMENT_ACTIVITY_FOR PREC1,
per_recruitment_activities PREC2
WHERE PREC1.RECRUITMENT_ACTIVITY_ID = PREC2.RECRUITMENT_ACTIVITY_ID
and sysdate between prec2.date_start and nvl(sysdate,prec2.date_end)
and prec2.date_start = (select max(prec3.date_start)
from per_recruitment_activities prec3,
PER_RECRUITMENT_ACTIVITY_FOR prec4
where prec3.RECRUITMENT_ACTIVITY_ID = prec4.RECRUITMENT_ACTIVITY_ID
and prec3.attribute4 is not null
and PREC4.VACANCY_ID = PREC1.VACANCY_ID)) PANEL_MEMBERS
where sysdate between pos.effective_start_date and pos.effective_end_date
and pos.status = 'VALID'
and ppd.position_definition_id = pos.position_definition_id
and pv.position_id = pos.position_id
and pv.vacancy_id = panel_members.vacancy_id(+)
AND PV.VACANCY_ID = :P_VACANCY_ID]]>
</sqlStatement>
<sqlStatement name="Q2">
<![CDATA[SELECT pos.name position_name
,PPD.SEGMENT16 UPN
,PPD.SEGMENT17 FUNCTION
,PPD.SEGMENT18 ROUTE
,PPD.SEGMENT19 DELIVERY_UNIT
,(select FVT.DESCRIPTION
from fnd_flex_value_SETS fvs,
fnd_flex_values fv,
fnd_flex_values_tl fvt
WHERE fvs.flex_value_set_name = 'NR_Safety_Critical_Indicator'
AND fv.flex_value_set_id = fvs.flex_value_set_id
and fv.flex_value_id = fvt.flex_value_id
AND fvt.LANGUAGE = USERENV ('LANG')
and fv.flex_value = POS.ATTRIBUTE2) SAFETY_INDICATOR
,pv.name vacancy_name
,PV.VACANCY_ID
,HR_GENERAL.DECODE_GRADE(PV.GRADE_ID) VACANCY_GRADE
,HR_GENERAL.DECODE_JOB(PV.JOB_ID) Job_name
,APL.LAST_NAME
,APL.FIRST_NAME
,APL.EMP_APL_NUMBER
,APL.EMP_GRADE
,APL.re_org_status
from hr_all_positions_f POS,
per_position_definitions PPD,
PER_ALL_VACANCIES PV,
(SELECT pv.vacancy_id
,PPF.LAST_NAME
,PPF.FIRST_NAME
,NVL(PPF.APPLICANT_NUMBER,EMPLOYEE_NUMBER) EMP_APL_NUMBER
,HR_GENERAL.DECODE_GRADE((SELECT PAF2.GRADE_ID
FROM PER_ALL_ASSIGNMENTS_F PAF2
WHERE PAF2.PERSON_ID = PAF1.PERSON_ID
AND PAF2.ASSIGNMENT_TYPE = 'E'
AND SYSDATE BETWEEN PAF2.EFFECTIVE_START_DATE AND PAF2.EFFECTIVE_END_DATE
AND ROWNUM = 1)) EMP_GRADE
,(SELECT fl.meaning REORG_STATUS
FROM apps.per_person_analyses ppa,
apps.per_analysis_criteria pac,
apps.per_special_info_types_v psi,
fnd_lookup_values FL
WHERE ppa.id_flex_num = pac.id_flex_num
AND ppa.analysis_criteria_id = pac.analysis_criteria_id
AND psi.id_flex_num = ppa.id_flex_num
AND psi.NAME = 'Re-Organisation Details'
and fl.lookup_type = 'NR_REORG_APPSTATUS'
and fl.lookup_code = pac.segment2
and ppa.person_id = ppf.person_id
and rownum = 1) re_org_status
FROM PER_ALL_ASSIGNMENTS_F PAF1,
PER_ALL_PEOPLE_F PPF,
PER_ALL_VACANCIES PV
WHERE PAF1.ASSIGNMENT_TYPE = 'A'
AND SYSDATE BETWEEN PAF1.EFFECTIVE_START_DATE AND PAF1.EFFECTIVE_END_DATE
AND SYSDATE BETWEEN PPF.EFFECTIVE_START_DATE AND PPF.EFFECTIVE_END_DATE
AND PAF1.PERSON_ID = PPF.PERSON_ID
AND PAF1.VACANCY_ID = PV.VACANCY_ID) apl
where sysdate between pos.effective_start_date and pos.effective_end_date
and pos.status = 'VALID'
and ppd.position_definition_id = pos.position_definition_id
and pv.position_id = pos.position_id
and pv.vacancy_id = apl.vacancy_id(+)
AND PV.VACANCY_ID = :P_VACANCY_ID]]>
</sqlStatement>
<sqlStatement name="Q3">
<![CDATA[SELECT (SELECT ppf2.first_name||' '||PPF2.Last_name||', '||ppf2.employee_number||', '||ppd2.segment17||', '||ppd2.segment18||', '||ppd2.segment19 employee_number
FROM PER_ALL_ASSIGNMENTS_F PAF2,
PER_ALL_PEOPLE_F PPF2,
HR_ALL_POSITIONS_F POS2,
PER_POSITION_DEFINITIONS PPD2
WHERE PAF2.PERSON_ID = PPF2.PERSON_ID
AND PAF2.POSITION_ID = POS2.POSITION_ID
and ppd2.position_definition_id = pos2.position_definition_id
AND SYSDATE BETWEEN ppf2.effective_start_date AND ppf2.effective_end_date
AND SYSDATE BETWEEN paf2.effective_start_date AND paf2.effective_end_date
AND SYSDATE BETWEEN pos2.effective_start_date AND pos2.effective_end_date
AND PAF2.ASSIGNMENT_TYPE = 'E'
AND PAF2.PERSON_ID = PAF.PERSON_ID) employee_number,
pos.NAME "CURRENT_POS",
PAF.PERSON_ID,
XXNR_HR_COPP_GENERAL.VAC_NAME(pac.segment3)||' - ' "VAC_PREF1",
XXNR_HR_COPP_GENERAL.VAC_POS(pac.segment3) "VAC_PREF1_POS_NAME",
XXNR_HR_COPP_GENERAL.VAC_NAME(pac.segment4)||' - ' "VAC_PREF2",
XXNR_HR_COPP_GENERAL.VAC_POS(pac.segment4) "VAC_PREF2_POS_NAME",
XXNR_HR_COPP_GENERAL.VAC_NAME(pac.segment5)||' - ' "VAC_PREF3",
XXNR_HR_COPP_GENERAL.VAC_POS(pac.segment5) "VAC_PREF3_POS_NAME",
(SELECT LOCATION_CODE
FROM HR_LOCATIONS WHERE LOCATION_ID = pac.segment15
AND ROWNUM = 1) "REORG_ADMIN_OFFICE",
(SELECT LOCATION_CODE
FROM HR_LOCATIONS WHERE LOCATION_ID = pac.segment18
AND ROWNUM = 1) "PREF_LOCATION",
pac.segment19 "WILL_RELOCATE",
pac.segment20 "LOCATION_TO_RELOCATE"
FROM apps.per_people_f ppf,
apps.per_assignments_f paf,
apps.hr_all_positions_f pos,
apps.per_person_analyses ppa,
apps.per_analysis_criteria pac,
apps.per_special_info_types_v psi,
apps.per_vacancies pv
WHERE ppf.person_id = ppa.person_id
AND SYSDATE BETWEEN ppf.effective_start_date AND ppf.effective_end_date
AND SYSDATE BETWEEN paf.effective_start_date AND paf.effective_end_date
AND SYSDATE BETWEEN pos.effective_start_date AND pos.effective_end_date
AND ppf.person_id = paf.person_id
and paf.vacancy_id = pv.vacancy_id
AND paf.position_id = pos.position_id
AND pos.status = 'VALID'
AND paf.assignment_type = 'A'
AND ppa.id_flex_num = pac.id_flex_num
AND ppa.analysis_criteria_id = pac.analysis_criteria_id
AND psi.id_flex_num = ppa.id_flex_num
AND psi.NAME = 'Re-Organisation Details'
AND PV.VACANCY_ID = :P_VACANCY_ID]]>
</sqlStatement>
</dataQuery>
<dataTrigger name="beforeReport" source="OO_HR_OO_GENERAL.submit_request_22(:P_VACANCY_ID)"/>
<dataStructure>
<group name="PANEL_MEM_LIST" source="Q1">
<element name="PANEL_MEMBER" value ="PANEL_MEMBER"/>
<element name="PANEL_START_TIME" value ="PANEL_START_TIME"/>
<element name="INTERVIEW_LOC" value ="INTERVIEW_LOC"/>
<element name="PANEL_START_DATE" value ="PANEL_START_DATE"/>
<element name="UPN" value ="UPN"/>
<element name="RE_ORG_NAME" value ="RE_ORG_NAME"/>
<element name="VACANCY_NAME" value ="VACANCY_NAME"/>
<element name="JOB_NAME" value ="JOB_NAME"/>
<element name="DEPT" value ="DEPT"/>
</group>
<group name="LIST_OF_EMPS" source = "Q2">
<element name="POSITION_NAME" value ="POSITION_NAME"/>
<element name="UPN" value ="UPN"/>
<element name="VACANCY_GRADE" value ="VACANCY_GRADE"/>
<element name="FUNCTION" value ="FUNCTION"/>
<element name="ROUTE" value ="ROUTE"/>
<element name="DELIVERY_UNIT" value ="DELIVERY_UNIT"/>
<element name="SAFETY_INDICATOR" value ="SAFETY_INDICATOR"/>
<element name="VACANCY_NAME" value ="VACANCY_NAME"/>
<element name="VACANCY_ID" value ="VACANCY_ID"/>
<element name="JOB_NAME" value ="JOB_NAME"/>
<element name="LAST_NAME" value ="LAST_NAME"/>
<element name="FIRST_NAME" value ="FIRST_NAME"/>
<element name="EMP_APL_NUMBER" value ="EMP_APL_NUMBER"/>
<element name="EMP_GRADE" value ="EMP_GRADE"/>
<element name="RE_ORG_STATUS" value ="RE_ORG_STATUS"/>
<element name="EMP_GRADE" value ="EMP_GRADE"/>
<element name="RE_ORG_STATUS" value ="RE_ORG_STATUS"/>
</group>
<group name="LIST_OF_EMPS_PREFS" source = "Q3">
<element name="EMPLOYEE_NUMBER" value ="EMPLOYEE_NUMBER"/>
<element name="CURRENT_POS" value ="CURRENT_POS"/>
<element name="VAC_PREF1_POS_NAME" value ="VAC_PREF1_POS_NAME"/>
<element name="VAC_PREF2_POS_NAME" value ="VAC_PREF2_POS_NAME"/>
<element name="VAC_PREF3_POS_NAME" value ="VAC_PREF3_POS_NAME"/>
<element name="VAC_PREF1" value ="VAC_PREF1"/>
<element name="VAC_PREF2" value ="VAC_PREF2"/>
<element name="VAC_PREF3" value ="VAC_PREF3"/>
<element name="REORG_ADMIN_OFFICE" value ="REORG_ADMIN_OFFICE"/>
<element name="PREF_LOCATION" value ="PREF_LOCATION"/>
<element name="WILL_RELOCATE" value ="WILL_RELOCATE"/>
<element name="LOCATION_TO_RELOCATE" value ="LOCATION_TO_RELOCATE"/>
</group>
</dataStructure>
</dataTemplate>
Edited by: Sharky on Jun 23, 2009 5:02 AMRules-wise, you have the beforeReport trigger before the dataStructure, and that is correct. Syntax, the parameter is going in okay. Question is then the logic or data. Does the function work outside of this? That is, if you were to exec the function in an anonymous block of PL/SQL, do you get the desired output (i.e., test for boolean value returned)?
-
hi,
How to use PF STATUS IN ALV REPORT?HI,
see this code.
TABLES:MARA.
SELECT-OPTIONS: MATNR FOR MARA-MATNR.
DATA:BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
ERSDA LIKE MARA-ERSDA,
MTART LIKE MARA-MTART,
MBRSH LIKE MARA-MBRSH,
END OF ITAB.
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE MATNR
IN MATNR.
TYPE-POOLS SLIS.
DATA:FCAT TYPE slis_t_fieldcat_alv.
DATA:LAYOUT TYPE slis_layout_alv.
DATA:EVE TYPE slis_t_event WITH HEADER LINE.
DATA:HEAD TYPE slis_t_listheader WITH HEADER LINE.
DATA:SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.
SORT-UP = 'X'.
SORT-SPOS = 1.
SORT-FIELDNAME = 'ERSDA'.
SORT-tabname = 'MARA'.
APPEND SORT.
SORT-SPOS = 2.
SORT-FIELDNAME = 'MTART'.
SORT-tabname = 'MARA'.
APPEND SORT.
EVE-NAME = 'TOP_OF_PAGE'.
EVE-FORM = 'TOPOFPAGE'.
APPEND EVE.
EVE-NAME = 'TOP_OF_LIST'.
EVE-FORM = 'TOPOFLIST'.
APPEND EVE.
EVE-NAME = 'END_OF_LIST'.
EVE-FORM = 'ENDOFLIST'.
APPEND EVE.
LAYOUT-ZEBRA = 'X'.
LAYOUT-no_hline = 'X'.
LAYOUT-NO_VLINE = 'X'.
LAYOUT-window_titlebar = 'MATERIAL DETAILS'.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = SY-REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = FCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
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 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
<b> I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'UCOMM'</b>
I_STRUCTURE_NAME =
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = SORT[]
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = EVE[]
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 5
I_SCREEN_START_LINE = 5
I_SCREEN_END_COLUMN = 120
I_SCREEN_END_LINE = 25
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB
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 TOPOFPAGE.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM.
FORM TOPOFLIST.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS-LISTTOP'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM.
FORM ENDOFLIST.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS-LISTEND'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM.
<b>FORM STATUS USING MYMENU.
SET PF-STATUS 'MENU' excluding MYMENU.
ENDFORM.
FORM UCOMM USING CODE STEXT.
CASE CODE.
WHEN 'ABC'.
WRITE:/ 'YOU HAVE CLICKED ON ABC'.
WHEN 'XYZ'.
WRITE:/ 'YOU HAVE CLICKED ON XYZ'.
ENDCASE.
ENDFORM.</b>
rgds,
bharat. -
Report on production order status and shortage report
I want to know standard report on production order status and shortage report. Kindly suggest.
COOIS - Production order information system . In this report you can give system status in selection screen and in report you can get complete status details (both system and user status) .
shortage report - CO24 -
How to Handle PF Status in ALV report ?
Hi friends i wanna handle my own PF Status in my report how can i handle it ?
please help me?
regards
satishcall function module reuse_alv_grid_display.
exporting.
programname = gd_repid.
t_fieldcatalog = d_fieldcat.
set pf_status = 'SET_PF_STATUS'.
importing.
t_outtab = itab.
exceptions.
form set_pf_status using rt_extab type slis_t_extab.
SET PF_STATUS 'NEWSTATUS'.
endform.
double click on NEWSTATUS it will take u to new window where in u can select required icon's which u need to be displayed in output.
otherwise
please see the standard program bcalv_grid_05.
Reward with points if helpful. -
PFS status in ALV report.
Hi,
How can we set PFS status in ALV report.Please tell the procedure.
Thanks in advance.HI,
see this code.
TABLES:MARA.
SELECT-OPTIONS: MATNR FOR MARA-MATNR.
DATA:BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
ERSDA LIKE MARA-ERSDA,
MTART LIKE MARA-MTART,
MBRSH LIKE MARA-MBRSH,
END OF ITAB.
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE MATNR
IN MATNR.
TYPE-POOLS SLIS.
DATA:FCAT TYPE slis_t_fieldcat_alv.
DATA:LAYOUT TYPE slis_layout_alv.
DATA:EVE TYPE slis_t_event WITH HEADER LINE.
DATA:HEAD TYPE slis_t_listheader WITH HEADER LINE.
DATA:SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.
SORT-UP = 'X'.
SORT-SPOS = 1.
SORT-FIELDNAME = 'ERSDA'.
SORT-tabname = 'MARA'.
APPEND SORT.
SORT-SPOS = 2.
SORT-FIELDNAME = 'MTART'.
SORT-tabname = 'MARA'.
APPEND SORT.
EVE-NAME = 'TOP_OF_PAGE'.
EVE-FORM = 'TOPOFPAGE'.
APPEND EVE.
EVE-NAME = 'TOP_OF_LIST'.
EVE-FORM = 'TOPOFLIST'.
APPEND EVE.
EVE-NAME = 'END_OF_LIST'.
EVE-FORM = 'ENDOFLIST'.
APPEND EVE.
LAYOUT-ZEBRA = 'X'.
LAYOUT-no_hline = 'X'.
LAYOUT-NO_VLINE = 'X'.
LAYOUT-window_titlebar = 'MATERIAL DETAILS'.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = SY-REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = FCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
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 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
<b>I_CALLBACK_PF_STATUS_SET = 'STATUS'
I_CALLBACK_USER_COMMAND = 'UCOMM'</b>
I_STRUCTURE_NAME =
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = SORT[]
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = EVE[]
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 5
I_SCREEN_START_LINE = 5
I_SCREEN_END_COLUMN = 120
I_SCREEN_END_LINE = 25
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB
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 TOPOFPAGE.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM.
FORM TOPOFLIST.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS-LISTTOP'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM.
FORM ENDOFLIST.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS-LISTEND'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
ENDFORM.
<b>FORM STATUS USING MYMENU.
SET PF-STATUS 'MENU' excluding MYMENU.
ENDFORM.
FORM UCOMM USING CODE STEXT.
CASE CODE.
WHEN 'ABC'.
WRITE:/ 'YOU HAVE CLICKED ON ABC'.
WHEN 'XYZ'.
WRITE:/ 'YOU HAVE CLICKED ON XYZ'.
ENDCASE.
ENDFORM.</b>
rgds,
bharat. -
How can I get Status of the report using after report trigger
I want to get Status of my report on GUI . I am aware that we can look into XMLP_SCHED_OUTPUT table to get all the required details but I am not aware as how I can pull data from this table and make it available on GUI screen. Or is there any way to use jobid of the report and use in Data template of the same report?
Any help on this will be greatly appreciated.What/which GUI? One of your own making? Design it and query from the table(s) of interest, and populate fields based on the results. Which job ID? The latest or one of your choosing? Add a drop down list or menu and let the user select which job. Fairly vague requirements you've listed.
-
Error while using Before report trigger. -- Urgent
Dear All,
The following error I am getting when I execute my data template where I have used Before Report Trigger. I am also pasting the Data Template that I have developed.
============================
Error
============================
XDO Data Engine Version No: 5.6.3
Resp: 20560
Org ID : 204
Request ID: 4846248
All Parameters: P_LOB=01:P_DIV_FROM=:P_DIV_TO=:P_FROM_ORG=:P_TO_ORG=:P_INV_FROM=:P_TO_INV=:P_TRX_DATE_FROM="2003/01/01 00:00:00":P_TRX_DATE_TO="2003/01/15 00:00:00"
Data Template Code: SSBWIPANA_MFGR
Data Template Application Short Name: WIP
Debug Flag: N
{P_DIV_FROM=, P_TRX_DATE_TO=2003/01/15 00:00:00, P_DIV_TO=, P_FROM_ORG=, P_TO_ORG=, P_TRX_DATE_FROM=2003/01/01 00:00:00, P_INV_FROM=, P_LOB=01, P_TO_INV=}
Calling XDO Data Engine...
[122407_011745100][][EXCEPTION] SQLException encounter while executing data trigger....
java.sql.SQLException: ORA-06550: line 2, column 12:
PLS-00302: component 'P_LOB' must be declared
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
ORA-06550: line 3, column 12:
PLS-00302: component 'P_DIV_FROM' must be declared
ORA-06550: line 3, column 1:
PL/SQL: Statement ignored
ORA-06550: line 4, column 12:
PLS-00302: component 'P_DIV_TO' must be declared
ORA-06550: line 4, column 1:
PL/SQL: Statement ignored
ORA-06550: line 5, column 12:
PLS-00302: component 'P_FROM_ORG' must be declared
ORA-06550: line 5, column 1:
PL/SQL: Statement ignored
ORA-06550: line 6, column 12:
PLS-00302: component 'P_TO_ORG' must be declared
ORA-06550: line 6, column 1:
PL/SQL: Statement ignored
ORA-06550: line 7, column 12:
PLS-00302: component 'P_FROM_INV' must be declared
ORA-06550: line 7, column 1:
PL/SQL: Statement ignored
ORA-06550: line 8, column 12:
PLS-00302: component 'P_TO_INV' must be declared
ORA-06550: line 8, column 1:
PL/SQL: Statement ignored
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:215)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:967)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3327)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3433)
at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4394)
at oracle.apps.xdo.dataengine.XMLPGEN.executeTriggers(XMLPGEN.java:699)
at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:254)
at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:205)
at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:237)
at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:364)
at oracle.apps.xdo.oa.util.DataTemplate.processData(DataTemplate.java:236)
at oracle.apps.xdo.oa.cp.JCP4XDODataEngine.runProgram(JCP4XDODataEngine.java:293)
at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
=====================================================
Data Template
====================================================
<dataTemplate name="SSBWIPANA_MFGR" defaultPackage="PRODUCTION" version="1.0">
<parameters>
<parameter name="P_LOB" datatype="charecter"/>
<parameter name="P_DIV_FROM" datatype="charecter"/>
<parameter name="P_DIV_TO" datatype="charecter"/>
<parameter name="P_FROM_ORG" datatype="charecter"/>
<parameter name="P_TO_ORG" datatype="charecter"/>
<parameter name="P_FROM_INV" datatype="charecter"/>
<parameter name="P_TO_INV" datatype="charecter"/>
<parameter name="P_TRX_DATE_FROM" datatype="charecter"/>
<parameter name="P_TRX_DATE_TO" datatype="charecter"/>
</parameters>
<dataQuery>
<sqlStatement name="Q_1">
<![CDATA[SELECT DISTINCT MSI.CONCATENATED_SEGMENTS, MMT.INVENTORY_ITEM_ID,
MSI.DESCRIPTION, MMT.TRANSACTION_UOM, SDT.TRX_DATE,
MTP.ORGANIZATION_CODE, MMT.ORGANIZATION_ID
FROM MTL_MATERIAL_TRANSACTIONS MMT,
MTL_PARAMETERS MTP,
MTL_SYSTEM_ITEMS_VL MSI,
SSBWIP_DATE_TEMP SDT
WHERE MMT.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID
AND MMT.ORGANIZATION_ID = MSI.ORGANIZATION_ID
AND MSI.ORGANIZATION_ID = MTP.ORGANIZATION_ID
AND MMT.ORGANIZATION_ID = MTP.ORGANIZATION_ID
AND MMT.TRANSACTION_TYPE_ID IN (17, 44)
AND MMT.ORGANIZATION_ID IN (
SELECT MP.ORGANIZATION_ID
FROM MTL_PARAMETERS MP, GL_CODE_COMBINATIONS GCC
WHERE MP.MATERIAL_ACCOUNT = GCC.CODE_COMBINATION_ID
AND GCC.SEGMENT1 = :P_LOB
AND (GCC.SEGMENT2 BETWEEN NVL (:P_DIV_FROM,
GCC.SEGMENT2)
AND NVL (:P_DIV_TO, GCC.SEGMENT2)
AND MTP.ORGANIZATION_CODE BETWEEN NVL (:P_FROM_ORG,
MTP.ORGANIZATION_CODE
AND NVL (:P_TO_ORG,
MTP.ORGANIZATION_CODE
AND MSI.CONCATENATED_SEGMENTS BETWEEN NVL
(:P_FROM_INV,
MSI.CONCATENATED_SEGMENTS
AND NVL
(:P_TO_INV,
MSI.CONCATENATED_SEGMENTS
ORDER BY MSI.CONCATENATED_SEGMENTS, MTP.ORGANIZATION_CODE]]>
</sqlStatement>
<sqlStatement name="Q_2">
<![CDATA[SELECT NVL (SUM (TRANSACTION_QUANTITY), 0) COMPLETION
FROM MTL_MATERIAL_TRANSACTIONS
WHERE INVENTORY_ITEM_ID = :INVENTORY_ITEM_ID
AND ORGANIZATION_ID = :ORGANIZATION_ID
AND TRANSACTION_TYPE_ID = 44
AND TRUNC (TRANSACTION_DATE) = :TRX_DATE]]>
</sqlStatement>
<sqlStatement name="Q_3">
<![CDATA[SELECT NVL (SUM (TRANSACTION_QUANTITY) * -1, 0) INCOMPLETION
FROM MTL_MATERIAL_TRANSACTIONS
WHERE INVENTORY_ITEM_ID = :INVENTORY_ITEM_ID
AND ORGANIZATION_ID = :ORGANIZATION_ID
AND TRANSACTION_TYPE_ID = 17
AND TRUNC (TRANSACTION_DATE) = :TRX_DATE]]>
</sqlStatement>
<sqlStatement name="Q_4">
<![CDATA[SELECT DESCRIPTION
FROM FND_FLEX_VALUES_VL
WHERE FLEX_VALUE_SET_ID = 1002470
AND FLEX_VALUE = :P_LOB]]>
</sqlStatement>
<sqlStatement name="Q_5">
<![CDATA[SELECT DESCRIPTION
FROM FND_FLEX_VALUES_VL
WHERE FLEX_VALUE_SET_ID = 1012471
AND FLEX_VALUE = :P_DIV_FROM
AND PARENT_FLEX_VALUE_LOW = :P_LOB]]>
</sqlStatement>
<sqlStatement name="Q_6">
<![CDATA[SELECT DESCRIPTION
FROM FND_FLEX_VALUES_VL
WHERE FLEX_VALUE_SET_ID = 1012471
AND FLEX_VALUE = :P_DIV_TO
AND PARENT_FLEX_VALUE_LOW = :P_LOB]]>
</sqlStatement>
</dataQuery>
<dataTrigger name="beforeReport" source="PRODUCTION.beforereporttrigger(:P_TRX_DATE_FROM,:P_TRX_DATE_TO)"/>
<dataStructure>
<group name="G_CONCATENATED_SEGMENTS" source="Q_1">
<element name="CONCATENATED_SEGMENTS" datatype="charecter" value="CONCATENATED_SEGMENTS"/>
<element name="DESCRIPTION" datatype="charecter" value="DESCRIPTION"/>
<element name="TRANSACTION_UOM" datatype="charecter" value="TRANSACTION_UOM"/>
<element name="INVENTORY_ITEM_ID" datatype="number" value="INVENTORY_ITEM_ID"/>
<element name="ORGNIZATION_ID" datatype="number" value="ORGANIZATION_ID"/>
<group name="G_TRX_DATE" source="Q_1">
<element name="TRX_DATE" datatype="date" value="TRX_DATE"/>
<group name="G_1" source="Q_1">
<element name="ORGANIZATION_CODE" datatype="charecter" value="ORGANIZATION_CODE"/>
<group name="G_ORGANIZATION_CODEC" source="Q_2">
<element name="COMPLETION" datatype="number" value="COMPLETION"/>
</group>
<group name="G_ORGANIZATION_CODEI" source="Q_3">
<element name="INCOMPLETION" datatype="number" value="INCOMPLETION"/>
</group>
</group>
</group>
</group>
<group name="G_LOB" source="Q_4">
<element name="CF_LOB" datatype="charecter" value="description"/>
</group>
<group name="G_FROM_DIV" source="Q_5">
<element name="CF_DIVFROM" datatype="charecter" value="description"/>
</group>
<group name="G_TO_DIV" source="Q_6">
<element name="CF_DIVTO" datatype="charecter" value="descrption"/>
</group>
<element name="CS_COUNT" function="count()" datatype="number" value="G_CONCATENATED_SEGMENTS.CONCATENATED_SEGMENTS"/>
</dataStructure>
</dataTemplate>
Pls. suggest me.
nullHi,
without checked the whole document .... you've defined all paramaters as datataype charecter instead of character.
Regards
Rainer -
Code in before report getting executed but "Job error is: BIP job failed."
Customer is executing a BIP job that fires a pl/sql procedure via before report trigger. Procedure is completing successfully. But the BIP report is not getting generated. ESS process ends in error with the following error:
oracle.as.scheduler.ExecutionErrorException: ESS-07033 Job logic indicated a system error occurred while executing an asynchronous java job for request 604103. Job error is: BIP job failed.
at oracle.as.scheduler.rp.AsyncFinalizeProcessor.processFinalizeRequest(AsyncFinalizeProcessor.java:131)
at oracle.as.scheduler.rp.AsyncJavaSysExecWrapper.finalizeExecution(AsyncJavaSysExecWrapper.java:250)
at oracle.as.scheduler.rp.EndpointProcessor.finalizeExecute(EndpointProcessor.java:1018)
at oracle.as.scheduler.rp.EndpointProcessor.finalizeExecuteWrapper(EndpointProcessor.java:980)
at oracle.as.scheduler.adapter.EndpointImpl.finalizeExecute(EndpointImpl.java:561)
at oracle.as.scheduler.ejb.EssAppEndpointBean.finalizeExecute(EssAppEndpointBean.java:162)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy197.finalizeExecute(Unknown Source)
at oracle.as.scheduler.ejb.ESSAppEndpoint_t596cy_MDOImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.MDOMethodInvoker.invoke(MDOMethodInvoker.java:35)
at oracle.as.scheduler.ejb.ESSAppEndpoint_t596cy_MDOImpl.finalizeExecute(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at oracle.as.scheduler.adapter.ra.rdp.RequestProcessor.invokeFinalizeExecute(RequestProcessor.java:8133)
at oracle.as.scheduler.adapter.ra.rdp.RequestProcessor.execStage_Finalize(RequestProcessor.java:7331)
at oracle.as.scheduler.adapter.ra.rdp.RequestProcessor.process_execute(RequestProcessor.java:4813)
at oracle.as.scheduler.adapter.ra.rdp.RequestProcessor.dispatchHandler(RequestProcessor.java:2833)
at oracle.as.scheduler.adapter.ra.rdp.RequestProcessor.processExecuteEvent(RequestProcessor.java:696)
at oracle.as.scheduler.adapter.ra.rdp.RequestProcessor.processUpdateEvent(RequestProcessor.java:1345)
at oracle.as.scheduler.adapter.ra.WorkUnitWorkerBase.processWork(WorkUnitWorkerBase.java:199)
at oracle.as.scheduler.adapter.ra.WAWorker.run(WAWorke...
Any tips/pointers on possible issues? Could this be a template corruption?Any reply for the above error please.I do have the same issue.
Please suggest. -
The command TfsAdmin ProjectServer /RegisterPWA causes next error:
TF244069: An error occurred while checking the provisioning status of the reporting database schema for a PWA instance.
Project Server returned the following error: "Server was unable to process request. ---> The request failed with HTTP status 401: Unauthorized.".
(type ProvisionException)
Exception Stack Trace: at Microsoft.TeamFoundation.Sync.Provisioning.ProvisionPwaDBSchema.HandleSoapException(SoapException soapException, String errorResourceString)
at Microsoft.TeamFoundation.Sync.Provisioning.ProvisionPwaDBSchema.IsDBSchemaProvisioned()
at Microsoft.TeamFoundation.Sync.Provisioning.ProvisionManager.Provision()
I installed SharePoint 2013 and Project Server 2013 as farm and TFS 2012 and my account has permissions everywhere. I read article
http://msdn.microsoft.com/en-us/library/gg412653.aspx and gave full permissions for TFS account to SQL and Project, Project app pool account to SQL, but still have an error.
How can I find out what exactly permissions are not enough???The problem was in claims authentication. Changed to Windows and all worked out.
-
Difference between AFTER PARAMETER FORM and BEFORE REPORT in Reports 6i
Hi Aii,
What is the difference between AFTER PARAMETER FORM and BEFORE REPORT in Reports 6i.
Thanks in Advance,
BaluHi Balu.,
As per my findings the After Parameter is fired after the Parameters are given to the report and Before Report fires when the queries are parsed and data is fetched.
Regards.,
Vijay G -
I have a new MacBook pro that will not turn on as the battery is no longer green. It turns orange why is that ? I have it plugged into an outlet with the charger as always and it was always green before?
The adapter light will always turn orange when your machine is charging. It will go back to green when the battery is fully charged.
Nothing to worry about.
Clinton -
Oracle Apps - How to create a table before report execution?
Hi,
I'm new to oracle apps, I created a procedure to get some values for a report and created a query to get the remaining values. Now I need to populate those values into a temporary table and after the report execution I have to delete the table. In apps there is no before parameter form. If any one can help me, that will great.
Thanks in advance.Hi,
Do you really need to create a table INSIDE the report? It doesn't look like a good idea to me. For instance, what happens if 2 users try to execute the report at the same time? I would create a global temporary table before any execution of the report, and then I would just populate the data in the table in the 'Before Report' trigger. The data in a global temporary table is only visible at session level, so you wouldn't have any problems with multiple users executing the report at the same time and the data disappears once you finish your session, so you don't need to take care of deleting the data.
Hope it helps. -
Before report triggers in crystal
Post Author: vdm
CA Forum: Data Connectivity and SQL
Hi,
I need to develop a report the data for which cannot be easily selected from tables using a sql statement. It needs to first call a stored procedure which would populate some temp tables and crystal would then report from these temp tables.I am from Oracle reports background which has a before report trigger in which you could put any of this pre-processing but not sure if crystal (CR XI) has the equivalent of that.what I did try with crystal was this :- 1. On my main report I have this query - select * from temp......2.I have put a sub-report in my Report Header section. This sub-report calls a sql server stored procedure which populates the temp table.But what I am finding is that before the sub-report is called crystal has already executed the select statement -which is still empty at this stage.Question:1.What I am trying to do is just not possible to do in crystal ?2. Or is there a way that I can stop crystal from executing the main select statement until the sub-report has been called ?thanks in advanceVishalPost Author: bettername
CA Forum: Data Connectivity and SQL
Why not just use a single Command object as your datasource, and have it contain the following sql:
exec sp_your_stored_procedure
--that should have generated your temp_table
select * from your_temp_table
drop table your_temp_table --or not, depending on your preference...
Maybe you are looking for
-
Can any one pls tell me the mandatory fields for BAPI_ACC_DOCUMENT_POST
hi all , Can any one pls tell me the mandatory fields for BAPI_ACC_DOCUMENT_POST what all data i need to give to post a document. Thanks and Regards JK
-
Question about InDesign File Structure
I had an interview Friday for a design job and they asked me to send them a stripped InDesign file without photos or anything, just a file so they can check out the structure of the file and see how I set up my files. 1. What is good file structure?
-
How to include implicitely referenced class in swf?
I have a setup where livecycle returns an array filled with instances of class MyClass with, among others, property aName. MyClass implements MyInterface which has an accessor name, in the implementation MyClass name handles aName. A component list
-
Looking for spell check solution with IE8 and apex 4.1
Hello: The most recent solution I find to implement spell check in IE8 and APEX is 2 years old - here: http://mattball.wordpress.com/2010/06/07/apex-spell-checker/ It shows how to integrate Jspell with apex. I will likely try the JSpell Evolution sin
-
I can not delete the dtp request