Errors in Presentation Layer
Hi
We are customizing an out of box BI Apps solution and are experiencing the following issues in the Presentation Layer:
1. Undecipherable label name
2. Data not displayed for various parameters though the data resides in the database
3. data had labels such as unspecified in the Presentation Layer
Appreciate your inputs in resolving these errors.
Regards
KSK.
Hi,
can you explain these errors in more details?
Regards
Cosimo
Similar Messages
-
Help w/behaivior button error _ presentation doc
Hi I'm learning action script but new to trouble-shooting.
set up a button on main presentation page of my flash 8 pro
presentation file.
used the behaivior:
>screen
>go to slide
then chose slide numbers. (works fine in a plain, new doc)
but on all of my ten buttons I get the following errors:
**Error** Screen=presentation, layer=buttons, frame=1:Line 4:
')' expected
if((this.01 != undefined) && (this.01 != null))
So trying to decifer this....went back and "named" each
botton thinking it was instance related. but still won't nav from
the ten individual buttons I've made to the ten different "slide"
pages.
any help you may be able to translat this to give me a place
to start to solve this....my file complete...looks good..and will
nav thru the two arrow buttons I've made "go to previous" and "go
to next" ....but the buttons that are supposted to allow a use to
go to any of the ten pages does nothing.
Thanks for your helpHi Neo,
Having taken a 3-day, all-day actionscript class, I realize
how indepth this prgm is, and I know this is a simple thing, and
totally operator error.
heres the whole error window:
**Error** Screen=presentation, layer=buttons, frame=1:Line 4:
')' expected
if((this.01 != undefined) && (this.01 != null))
**Error** Screen=presentation, layer=buttons, frame=1:Line 4:
')' expected
if((this.03 != undefined) && (this.03 != null))
**Error** Screen=presentation, layer=buttons, frame=1:Line 4:
')' expected
if((this.02 != undefined) && (this.02 != null))
Total ActionScript Errors: 3 Reported Errors: 3
I've only assigned behaiviors to the first three buttons. The
individual "slides" in the flash 8 pro presentation are named
simply: 01, (for first slide) 02 (for second) 03, etc...I can see
them in the code. The instance names when I click on each "slide"
are also 01 (for first slide) 02 (for second) etc... The wierd
thing is the arrow keys. They are duplicates of the same buttons
that the numbers are, and they work with the "next" and "previous"
behaiviiors. but....also weird, I made a new (simple, clean, no
rollover) button on the "master" presentation page, and used the
>screen >go to slide feature....and it still did not work. I
thought it the buttons...but...now not sure...
any thoughts? -
I am trying to use java file as Model layer and jsf as presentation layer
I am trying to use java file as Model layer and jsf as presentation layer and need some help
I successfully get the value of h:outputText from java file by doing simple binding operation but I am facing problems when I am trying to fill h:dataTable
I create java file
package oracle.model;
import java.sql.;*
import java.util.;*
*public class TableBean {*
Connection con ;
Statement ps;
ResultSet rs;
private List perInfoAll = new ArrayList();
*public List getperInfoAll() {*
perInfoAll.add(0,new perInfo("name","username","blablabla"));
return perInfoAll;
*public class perInfo {*
String uname;
String firstName;
String lastName;
*public perInfo(String firstName,String lastName,String uname) {*
this.uname = uname;
this.firstName = firstName;
this.lastName = lastName;
*public String getUname() {*
return uname;
*public String getFirstName() {*
return firstName;
*public String getLastName() {*
return lastName;
right click on the file and choose 'create data control'
then i wrote the jsf file:
*<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>*
*<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>*
*<f:view>*
*<h:dataTable id="dt1" value="#{bindings.perInfoAll}"*
var="item" bgcolor="#F1F1F1" border="10"
cellpadding="5" cellspacing="3" rows="4" width="50%"
dir="LTR" frame="hsides" rules="all"
*>*
*<f:facet name="header">*
*<h:outputText value="This is 'dataTable' demo" id="ot6"/>*
*</f:facet>*
*<h:column id="c2">*
*<f:facet name="header">*
*<h:outputText value="First Name" id="ot1"/>*
*</f:facet>*
*<h:outputText style="" value="#{item.firstName}"*
id="ot2"/>
*</h:column>*
*<h:column id="c4">*
*<f:facet name="header">*
*<h:outputText value="Last Name" id="ot9"/>*
*</f:facet>*
*<h:outputText value="#{item.lastName}" id="ot8"/>*
*</h:column>*
*<h:column id="c3">*
*<f:facet name="header">*
*<h:outputText value="Username" id="ot7"/>*
*</f:facet>*
*<h:outputText value="#{item.uname}" id="ot4"/>*
*</h:column>*
*<f:facet name="footer">*
*<h:outputText value="The End" id="ot3"/>*
*</f:facet>*
*</h:dataTable>*
*</center>*
*</af:document>*
*</f:view>*
but nothing is appear in my table
I know that there is something wrong in calling the binding object
I need help pls and where can i find some help to deal with another tag types
thanksi dragged the "perInfoAll" from my "Data Controls" and choosed adf table (even I know that new table with adf tags well be generated and i want table with jsf tags)
and this code is generated
*<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"*
*"http://www.w3.org/TR/html4/loose.dtd">*
*<%@ page contentType="text/html;charset=UTF-8"%>*
*<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>*
*<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>*
*<%@ taglib uri="http://xmlns.oracle.com/adf/faces/rich" prefix="af"%>*
*<f:view>*
*<af:document id="d1">*
*<af:messages id="m1"/>*
*<af:form id="f1">*
*<af:table value="#{bindings.perInfoAll1.collectionModel}" var="row"*
*rows="#{bindings.perInfoAll1.rangeSize}"*
*emptyText="#{bindings.perInfoAll1.viewable ? 'No data to display.' : 'Access Denied.'}"*
*fetchSize="#{bindings.perInfoAll1.rangeSize}"*
*rowBandingInterval="0"*
*selectionListener="#{bindings.perInfoAll1.collectionModel.makeCurrent}"*
*rowSelection="multiple" id="t1">*
*<af:column sortProperty="uname" sortable="false"*
*headerText="#{bindings.perInfoAll1.hints.uname.label}"*
*id="c1">*
*<af:inputText value="#{row.bindings.uname.inputValue}"*
*label="#{bindings.perInfoAll1.hints.uname.label}"*
*required="#{bindings.perInfoAll1.hints.uname.mandatory}"*
*columns="#{bindings.perInfoAll1.hints.uname.displayWidth}"*
*maximumLength="#{bindings.perInfoAll1.hints.uname.precision}"*
*shortDesc="#{bindings.perInfoAll1.hints.uname.tooltip}"*
*id="it3">*
*<f:validator binding="#{row.bindings.uname.validator}"/>*
*</af:inputText>*
*</af:column>*
*<af:column sortProperty="firstName" sortable="false"*
*headerText="#{bindings.perInfoAll1.hints.firstName.label}"*
*id="c2">*
*<af:inputText value="#{row.bindings.firstName.inputValue}"*
*label="#{bindings.perInfoAll1.hints.firstName.label}"*
*required="#{bindings.perInfoAll1.hints.firstName.mandatory}"*
*columns="#{bindings.perInfoAll1.hints.firstName.displayWidth}"*
*maximumLength="#{bindings.perInfoAll1.hints.firstName.precision}"*
*shortDesc="#{bindings.perInfoAll1.hints.firstName.tooltip}"*
*id="it2">*
*<f:validator binding="#{row.bindings.firstName.validator}"/>*
*</af:inputText>*
*</af:column>*
*<af:column sortProperty="lastName" sortable="false"*
*headerText="#{bindings.perInfoAll1.hints.lastName.label}"*
*id="c3">*
*<af:inputText value="#{row.bindings.lastName.inputValue}"*
*label="#{bindings.perInfoAll1.hints.lastName.label}"*
*required="#{bindings.perInfoAll1.hints.lastName.mandatory}"*
*columns="#{bindings.perInfoAll1.hints.lastName.displayWidth}"*
*maximumLength="#{bindings.perInfoAll1.hints.lastName.precision}"*
*shortDesc="#{bindings.perInfoAll1.hints.lastName.tooltip}"*
*id="it1">*
*<f:validator binding="#{row.bindings.lastName.validator}"/>*
*</af:inputText>*
*</af:column>*
*</af:table>*
*</af:form>*
*</af:document>*
*</f:view>*
but when run it i see the following errors
*Class oracle.adf.model.adapter.bean.BeanDataControl can not access a member of class nl.amis.hrm.EmpManager with modifiers "private"*
*Object EmpManager of type DataControl is not found.*
*java.lang.NullPointerException*
*Class oracle.adf.model.adapter.bean.BeanDataControl can not access a member of class nl.amis.hrm.EmpManager with modifiers "private"*
*Object EmpManager of type DataControl is not found.*
*java.lang.NullPointerException*
:( -
Issue adding a new column to OBIEE presentation layer
Hi,
I am pretty new to OBIEE so this may be a silly question. I am facing some problems trying to add a new column from a physical table the OBIEE presentation layer.
Below are the steps I followed:
Task: add a product category set to the presentation layer.
Steps:
1) First verified that the product category set is being populated in the W_PROD_CAT_DH table in the datawarehouse. this was done by running the following sql
SELECT W_PROD_CAT_DH.TOP_LVL_PRODCAT_NAME
FROM W_PROD_CAT_DH, W_INVENTORY_PRODUCT_D
WHERE W_PROD_CAT_DH.integration_id = W_INVENTORY_PRODUCT_D.INV_PROD_CAT1
This sql gave the right category value.
2) created a "Alias" of the table W_PROD_CAT_DH in the OBIEE Admin tool physical layer. (done by right clicking W_PROD_CAT_DH >>New Object>> Alias)
3) named the Alias of W_PROD_CAT_DH as "Dim_W_INV_MKT_CAT" and created a key of the alias named "integration id" on the column "integration_id"
4) opened the pre-existing alias of W_INVENTORY_PRODUCT_D the alias was called "Dim_W_INVENTORY_PRODUCT_D" and added a key called "MKT_CAT" on the column "INV_PROD_CAT1" in this alias (Dim_W_INVENTORY_PRODUCT_D of the table W_INVENTORY_PRODUCT_D)
5) in the alias of the "W_INVENTORY_PRODUCT_D" called "Dim_W_INVENTORY_PRODUCT_D" added a "Foreign Keys" the expression of the key is following: ("Oracle Data Warehouse"."Catalog"."dbo"."Dim_W_INV_MKT_CAT"."INTEGRATION_ID" = "Oracle Data Warehouse"."Catalog"."dbo"."Dim_W_INVENTORY_PRODUCT_D"."INV_PROD_CAT1")
Logical layer
6) Opened the existing logical folder called "Dim - Inventory Product" and clicked on "Sources" tab then double clicked the source "Dim_W_INVENTORY_PRODUCT_D" and added a new mapping under "Map to these tables" under "General" tab. The column that was added was the physical alias "Dim_W_INV_MKT_CAT"
7) added a new column mapping to the same logical table source (Dim_W_Inventory_PRODUCT_D) this new mapping was a column from the alias "Dim_W_INV_MKT_CAT" (column name "TOP_LVL_PRODCAT_NAME")
Presentation Layer
8) dragged the newly added column (TOP_LVL_PRODCAT_NAME) from the logical layer "Dim - Inventory Product" to the presentation layer "Product" folder.
ISSUE
after adding everything and checking global consistency and save and checking-in my work when i login from the front end presentation services. I see the newly added column is showing under the "Product" folder. on dragging the column by itself to the Ad-Hoc analysis I can see the different values of the category. On adding a second column from the same logical folder (Dim - Inventory Product in logical layer) i still see the right product name and corresponding category. BUT when I drag any other column from any other folder (such as "Day" from "Time" or any fact values) the result does not fetch any data (message: The specified criteria didn't result in any data.)
I am not sure if I am missing any step but I know I am mapping the new table alias to the inventory_product_d since i see right results on creating analysis of columns in those two folders. but no other folders give me any data.
I also know that the logical folder "Dim - Inventory Product" is joined with other tables as I can see results when i do not add the newly added catagory column but other folder and other columns of "Dim - Inventory Product"
I would really appreciate any insight to this very much. we are using OBIEE 11.1.1.6 with the Oracle 11.5.10 Adaptor (SDE_ORA11510_Adopter)
I will try to upload some screenshots if needed but presently not sure if its something really simple.Hi Prassu,
thanks for the responce. and Apologies for the delay in getting back to you.
1) 1.First of all set the logging level to 3 in the admin tool save it.
You can get the SQL query from here
settings(Answers right top)-->Administration-->manage sessions-->view log
When I try to do this I get the following message. and no log files.
Error
Log Could Not Be Retrieved
Odbc driver returned an error (SQLExecDirectW).
Error Details
Error Codes: OPR4ONWY:U9IM8TAC
State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 27002] Near <3790667783>: Syntax error [nQSError: 26012] . (HY000) -
Hiding columns in Presentation Layer, but still accessible in a report.
Hi BI Devs,
I have a question on how to hide certain columns in the presenation layer but still make them available in a dashboard/report.
We have 3 sections in our Presenatation Layer...section_a, section_b, section_c. We have two groups created, group_max and group_lite. Group_max will have access to all the sections in the presentation layer but group_lite will only have access to section_a and section_b
We have a report in a dashboard (lets call it full_dashboard) that contains columns from section_a, section_b and section_c. We want all users (group_max and group_lite) to have access to the report, run the report and return data.
Our requirement is that the group_lite will not have access to the section_c in "Answers".
When we set the permissions in the RPD for the different sections, the permissions work correctly in hiding the section_c from group_lite, but when they run the report full_dashboard, the report errors out for group_lite users.
Is there a way to grant access to the group_lite users so that they can run full_dashboard but still deny them access to the columns in Answers?Here is my thinking about duplicationg the section_c
1. If i duplicate section_c, it will still be visible to group_lite in the presenation layer.
2. If i duplicate section_c, i will have to change the dashboard (a very complex one too) to point to the duplicated section. How will I be able to hide the duplicated section?
I am just not sure how to hide section_c from the group_lite users and still have the reports in the dashboard access the columns, without having to change the report.
Edited by: empyre on Mar 16, 2011 8:21 AM -
Sending PDF file in presentation layer as a attachment to Email
Hi,
I have a PDF file in my Presentation layer, I want to send it as a attachment to Email. Is there any Function Module or sample code to it.
Regards,
Adithya M.Hi Maha,
Go through this hope u can understand. also check this link
http://abapcode.blogspot.com/2007/05/convert-spool-request-to-pdf-and-send.html.
Here is the code to send the Smartform to mail as PDF attachment.
*& Report ZTEST_NREDDY_PDF_MAIL
REPORT ZTEST_NREDDY_PDF_MAIL.
Internal Table declarations
DATA: I_OTF TYPE ITCOO OCCURS 0 WITH HEADER LINE,
I_TLINE TYPE TABLE OF TLINE WITH HEADER LINE,
I_RECEIVERS TYPE TABLE OF SOMLRECI1 WITH HEADER LINE,
I_RECORD LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
Objects to send mail.
I_OBJPACK LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,
I_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
I_OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
I_RECLIST LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,
Work Area declarations
WA_OBJHEAD TYPE SOLI_TAB,
W_CTRLOP TYPE SSFCTRLOP,
W_COMPOP TYPE SSFCOMPOP,
W_RETURN TYPE SSFCRESCL,
WA_DOC_CHNG TYPE SODOCCHGI1,
W_DATA TYPE SODOCCHGI1,
WA_BUFFER TYPE STRING, "To convert from 132 to 255
Variables declarations
V_FORM_NAME TYPE RS38L_FNAM,
V_LEN_IN LIKE SOOD-OBJLEN,
V_LEN_OUT LIKE SOOD-OBJLEN,
V_LEN_OUTN TYPE I,
V_LINES_TXT TYPE I,
V_LINES_BIN TYPE I.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZTEST'
IMPORTING
FM_NAME = V_FORM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 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.
W_CTRLOP-GETOTF = 'X'.
W_CTRLOP-NO_DIALOG = 'X'.
W_COMPOP-TDNOPREV = 'X'.
CALL FUNCTION V_FORM_NAME
EXPORTING
CONTROL_PARAMETERS = W_CTRLOP
OUTPUT_OPTIONS = W_COMPOP
USER_SETTINGS = 'X'
IMPORTING
JOB_OUTPUT_INFO = W_RETURN
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
I_OTF[] = W_RETURN-OTFDATA[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
IMPORTING
BIN_FILESIZE = V_LEN_IN
TABLES
OTF = I_OTF
LINES = I_TLINE
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
ENDIF.
LOOP AT I_TLINE.
TRANSLATE I_TLINE USING '~'.
CONCATENATE WA_BUFFER I_TLINE INTO WA_BUFFER.
ENDLOOP.
TRANSLATE WA_BUFFER USING '~'.
DO.
I_RECORD = WA_BUFFER.
APPEND I_RECORD.
SHIFT WA_BUFFER LEFT BY 255 PLACES.
IF WA_BUFFER IS INITIAL.
EXIT.
ENDIF.
ENDDO.
Attachment
REFRESH: I_RECLIST,
I_OBJTXT,
I_OBJBIN,
I_OBJPACK.
CLEAR WA_OBJHEAD.
I_OBJBIN[] = I_RECORD[].
Create Message Body Title and Description
I_OBJTXT = 'test with pdf-Attachment!'.
APPEND I_OBJTXT.
DESCRIBE TABLE I_OBJTXT LINES V_LINES_TXT.
READ TABLE I_OBJTXT INDEX V_LINES_TXT.
WA_DOC_CHNG-OBJ_NAME = 'smartform'.
WA_DOC_CHNG-EXPIRY_DAT = SY-DATUM + 10.
WA_DOC_CHNG-OBJ_DESCR = 'smartform'.
WA_DOC_CHNG-SENSITIVTY = 'F'.
WA_DOC_CHNG-DOC_SIZE = V_LINES_TXT * 255.
Main Text
CLEAR I_OBJPACK-TRANSF_BIN.
I_OBJPACK-HEAD_START = 1.
I_OBJPACK-HEAD_NUM = 0.
I_OBJPACK-BODY_START = 1.
I_OBJPACK-BODY_NUM = V_LINES_TXT.
I_OBJPACK-DOC_TYPE = 'RAW'.
APPEND I_OBJPACK.
Attachment (pdf-Attachment)
I_OBJPACK-TRANSF_BIN = 'X'.
I_OBJPACK-HEAD_START = 1.
I_OBJPACK-HEAD_NUM = 0.
I_OBJPACK-BODY_START = 1.
DESCRIBE TABLE I_OBJBIN LINES V_LINES_BIN.
READ TABLE I_OBJBIN INDEX V_LINES_BIN.
I_OBJPACK-DOC_SIZE = V_LINES_BIN * 255 .
I_OBJPACK-BODY_NUM = V_LINES_BIN.
I_OBJPACK-DOC_TYPE = 'PDF'.
I_OBJPACK-OBJ_NAME = 'smart'.
I_OBJPACK-OBJ_DESCR = 'test'.
APPEND I_OBJPACK.
CLEAR I_RECLIST.
I_RECLIST-RECEIVER = '[email protected]'.
I_RECLIST-REC_TYPE = 'U'.
APPEND I_RECLIST.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = WA_DOC_CHNG
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
TABLES
PACKING_LIST = I_OBJPACK
OBJECT_HEADER = WA_OBJHEAD
CONTENTS_BIN = I_OBJBIN
CONTENTS_TXT = I_OBJTXT
RECEIVERS = I_RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
IF SY-SUBRC <> 0.
WRITE:/ 'Error When Sending the File', SY-SUBRC.
ELSE.
WRITE:/ 'Mail sent'.
ENDIF.
If you want to send some text as Body of the Mail then follow this once
when u r callin the FM'SO_NEW_DOCUMENT_ATT_SEND_API1'.. points to remember
1.u have to pass the body of content in table CONTENTS_TXT(ia m using I_OBJBIN) (each line a record) then. suppose i have appended 11 records to the table CONTENTS_TXT .
2.PACKING_LIST(iam usign I_OBJPACK) table u ahve to append a redord as follows
I_OBJPACK-TRANSF_BIN = ' '.
I_OBJPACK-HEAD_START = 000000000000001.
I_OBJPACK-HEAD_NUM = 000000000000001.
I_OBJPACK-BODY_START = 000000000000002
I_OBJPACK-BODY_NUM = 000000000000010.
I_OBJPACK-DOC_TYPE = 'RAW'.
append I_OBJPACK-.
by the above code system treat the first line in table I_OBJBIN as header and the 2nd line to 10 lines tread as body.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = WA_DOC_CHNG
PUT_IN_OUTBOX = 'X'
TABLES
PACKING_LIST = I_OBJPACK
OBJECT_HEADER = WA_OBJHEAD
CONTENTS_BIN = I_OBJBIN
CONTENTS_TXT = I_OBJTXT
RECEIVERS = I_RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
*& Report ZSPOOLTOPDF *
*& Converts spool request into PDF document and emails it to *
*& recipicant. *
*& Execution *
*& This program can be run in background or online and a spool request *
*& will still be created *
REPORT zspooltopdf.
PARAMETER: p_email1 LIKE somlreci1-receiver
DEFAULT [email protected],
p_sender LIKE somlreci1-receiver
DEFAULT [email protected],
p_delspl AS CHECKBOX,
p_online no-display.
*DATA DECLARATION
DATA: gd_recsize TYPE i.
Spool IDs
TYPES: BEGIN OF t_tbtcp.
INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
wa_tbtcp TYPE t_tbtcp.
Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
gd_eventparm LIKE tbtcm-eventparm,
gd_external_program_active LIKE tbtcm-xpgactive,
gd_jobcount LIKE tbtcm-jobcount,
gd_jobname LIKE tbtcm-jobname,
gd_stepcount LIKE tbtcm-stepcount,
gd_error TYPE sy-subrc,
gd_reciever TYPE sy-subrc.
DATA: w_recsize TYPE i,
w_spool_nr like sy-spono.
%_print LIKE pri_params.
DATA: gd_subject LIKE sodocchgi1-obj_descr,
it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
gd_sender_type LIKE soextreci1-adr_typ,
gd_attachment_desc TYPE so_obj_nam,
gd_attachment_name TYPE so_obj_des.
Spool to PDF conversions
DATA: gd_spool_nr LIKE tsp01-rqident,
gd_destination LIKE rlgrap-filename,
gd_bytecount LIKE tst01-dsize,
gd_buffer TYPE string.
Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
CONSTANTS: c_dev LIKE sy-sysid VALUE DEV,
c_no(1) TYPE c VALUE ,
c_device(4) TYPE c VALUE LOCL.
*START-OF-SELECTION.
START-OF-SELECTION.
Write statement to represent report output. Spool request is created
if write statement is executed in background. This could also be an
ALV grid which would be converted to PDF without any extra effort
WRITE Hello World.
new-page.
commit work.
new-page print off.
If p_online = X.
Processing performed when program calls itself when run online
gd_spool_nr = sy-spono.
EXPORT gd_spool_nr TO MEMORY ID SPOOLTOPDF.
EXIT.
endif.
IF sy-batch EQ X.
PERFORM get_job_details.
PERFORM obtain_spool_id.
ELSE.
gd_spool_nr = sy-spono.
If executed online, it submits a program to perform the write
statements
instructing it to create a spool request, this could be another
program
which just performs the write statements and then exports sy-spono
to memory. But in this example it calls itself passing X to parameter
p_online, which takes it down an alternative procesing path.
submit ZSPOOLTOPDF
with p_online = X
to sap-spool
spool parameters %_print
archive parameters %_print
without spool dynpro
and return.
ENDIF.
Get spool id from program called above
IMPORT gd_spool_nr FROM MEMORY ID SPOOLTOPDF.
PERFORM convert_spool_to_pdf.
PERFORM process_email.
if p_delspl EQ X.
PERFORM delete_spool.
endif.
IF sy-sysid = c_dev.
wait up to 5 seconds.
SUBMIT rsconn01 WITH mode = INT
WITH output = X
AND RETURN.
ENDIF.
FORM obtain_spool_id *
FORM obtain_spool_id.
CHECK NOT ( gd_jobname IS INITIAL ).
CHECK NOT ( gd_jobcount IS INITIAL ).
SELECT * FROM tbtcp
INTO TABLE it_tbtcp
WHERE jobname = gd_jobname
AND jobcount = gd_jobcount
AND stepcount = gd_stepcount
AND listident 0000000000′
ORDER BY jobname
jobcount
stepcount.
READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
IF sy-subrc = 0.
message s004(zdd) with gd_spool_nr.
gd_spool_nr = wa_tbtcp-listident.
MESSAGE s004(zdd) WITH gd_spool_nr.
ELSE.
MESSAGE s005(zdd).
ENDIF.
ENDFORM.
FORM get_job_details *
FORM get_job_details.
Get current job details
CALL FUNCTION GET_JOB_RUNTIME_INFO
IMPORTING
eventid = gd_eventid
eventparm = gd_eventparm
external_program_active = gd_external_program_active
jobcount = gd_jobcount
jobname = gd_jobname
stepcount = gd_stepcount
EXCEPTIONS
no_runtime_info = 1
OTHERS = 2.
ENDFORM.
FORM convert_spool_to_pdf *
FORM convert_spool_to_pdf.
CALL FUNCTION CONVERT_ABAPSPOOLJOB_2_PDF
EXPORTING
src_spoolid = gd_spool_nr
no_dialog = c_no
dst_device = c_device
IMPORTING
pdf_bytecount = gd_bytecount
TABLES
pdf = it_pdf_output
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
CHECK sy-subrc = 0.
Transfer the 132-long strings to 255-long strings
LOOP AT it_pdf_output.
TRANSLATE it_pdf_output USING ~.
CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
ENDLOOP.
TRANSLATE gd_buffer USING ~ .
DO.
it_mess_att = gd_buffer.
APPEND it_mess_att.
SHIFT gd_buffer LEFT BY 255 PLACES.
IF gd_buffer IS INITIAL.
EXIT.
ENDIF.
ENDDO.
ENDFORM.
FORM process_email *
FORM process_email.
DESCRIBE TABLE it_mess_att LINES gd_recsize.
CHECK gd_recsize > 0.
PERFORM send_email USING p_email1.
perform send_email using p_email2.
ENDFORM.
FORM send_email *
> p_email *
FORM send_email USING p_email.
CHECK NOT ( p_email IS INITIAL ).
REFRESH it_mess_bod.
Default subject matter
gd_subject = Subject.
gd_attachment_desc = Attachname.
CONCATENATE attach_name INTO gd_attachment_name.
it_mess_bod = Message Body text, line 1′.
APPEND it_mess_bod.
it_mess_bod = Message Body text, line 2 .
APPEND it_mess_bod.
If no sender specified - default blank
IF p_sender EQ space.
gd_sender_type = space.
ELSE.
gd_sender_type = INT.
ENDIF.
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_mess_bod
it_mess_att
using p_email
Example .xls documnet attachment
PDF
gd_attachment_name
gd_attachment_desc
p_sender
gd_sender_type
changing gd_error
gd_reciever.
ENDFORM.
FORM delete_spool *
FORM delete_spool.
DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
ld_spool_nr = gd_spool_nr.
CHECK p_delspl c_no.
CALL FUNCTION RSPO_R_RDELETE_SPOOLREQ
EXPORTING
spoolid = ld_spool_nr.
ENDFORM.
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
Send email
FORM send_file_as_email_attachment tables it_message
it_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
changing p_error
p_reciever.
DATA: ld_error TYPE sy-subrc,
ld_reciever TYPE sy-subrc,
ld_mtitle LIKE sodocchgi1-obj_descr,
ld_email LIKE somlreci1-receiver,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des ,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ,
ld_receiver LIKE sy-subrc.
data: t_packing_list like sopcklsti1 occurs 0 with header line,
t_contents like solisti1 occurs 0 with header line,
t_receivers like somlreci1 occurs 0 with header line,
t_attachment like solisti1 occurs 0 with header line,
t_object_header like solisti1 occurs 0 with header line,
w_cnt type i,
w_sent_all(1) type c,
w_doc_data like sodocchgi1.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_type.
Fill the document data.
w_doc_data-doc_size = 1.
Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = SAPRPT.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = F.
Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = SAPRPT.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = F.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = it_attach[].
Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES t_packing_list-body_num.
t_packing_list-doc_type = RAW.
APPEND t_packing_list.
Create attachment notification
t_packing_list-transf_bin = X.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = ld_attdescription.
t_packing_list-obj_name = ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
t_receivers-receiver = ld_email.
t_receivers-rec_type = U.
t_receivers-com_type = INT.
t_receivers-notif_del = X.
t_receivers-notif_ndel = X.
APPEND t_receivers.
CALL FUNCTION SO_DOCUMENT_SEND_API1′
EXPORTING
document_data = w_doc_data
put_in_outbox = X
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = X
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
receivers = t_receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
Populate zerror return code
ld_error = sy-subrc.
Populate zreceiver return code
LOOP AT t_receivers.
ld_receiver = t_receivers-retrn_code.
ENDLOOP.
ENDFORM.
Reward points if helpful
Thanks
Naveen khan -
Unable to drop BMM Dimension to Presentation Layer
The BMM Dimension is based on Location_D. At first level I have country (1attribute of location_d) and is made as a key for first level. At second level I have state (also as key & 2 attribute of location_d) The preferred drill down path at first level is pointed to second level.
When I try to drop dimension to Presentation layer, it doesnt allow. I do not get any errors during consistency check.
I am using OBIEE10g on a Windows XP system.
Is there anything that is wrong?
Regards,
Prem.If you are creating a Presentation catalog based on BMM then, mouse right click on Presentation layer and create manually and drag and drop from BMM.
If your case is adding column to existing Presentation catalog's Presentation table; See the related BMM to that Presentation catalog, you may use mouse right click and Related to.
If these are not helping send me rpd with details to my email I do it for you.
Mark if helps -
How can I import db column comments into the OBIEE presentation layer?
We have a very well designed data mart - it is a star schema and all the fact and dimension table columns have comments in them with their definition and use. There is virtually no change required in the physical or business layer. The only modifications done in the presentation layer was to hide the Pk/Fk columns.
Is there a way to import these column comments into the presentation layer so that the business user can see this comment in the tool tip while hovering over the presentation column in Answers?
Thanks for your help!Hi,
I assume the comments you mean are stored in user_tab_comments and user_col_comments.
When this is the case you should do the following:
Go to your subject area in your presentation layer. For now I assume the name of this subject area is "Subject Area".
Then right click on this subject area and check "Externalize Descriptions".
Then create an initialization block (session) using this query:
(select 'CD_Subject_Area_' || table_name, comments from user_tab_comments)
union all
(select 'CD_Subject_Area_' || table_name || '_' || column_name, comments from user_col_comments)
Use "Row-wise initialization" for this initialization block.
Two comments:
1) Like I said, I assume Subject Area is the name of your subject area in your presentation layer, so I guess you need to replace this with the name of your Subject Area.
But be sure that you replace each space ' ' with an underscore '_'.
2) Maybe you need to refine above querys by filtering on table_name for those table_names you are using.
Good luck.
Regards,
Stijn -
SXMB_MONI : Error in Persistence Layer : XML Message Not Found
Hi Team,
There are some messages in our Production system and is in Scheduled state in SXMB_MONI and when we try to re-process those messages, we are getting message : Error in Persistence Layer and when we double click on message, we are getting the error : XML Message Not Found.
Any help on this is highly appreciated.
Thanks & Regards,
C V JayachandraHi,
Please refer the below discussion
SXMB_MONI - Error accessing persistence layer
regards,
Harish -
How to deal with validation errors from DAO layer.
I have been pondering on how to deal with validation errors from DAO layer.
Lets say you have a DAO that can save a car object. A car has a year, make, model, vin and so on. During the save operation of this DAO, it validates the car attributes to see if they pass some business rules. If it does not it throws some validation exception that contains all the validation errors. These validation errors know nothing about jsf or my components it just knows what attributes on the object are invalid and why.
If I just want to show those errors at the top of the page that would be no problem I could just create some FacesMessage objects and add them to the FacesContext messages. But if the DAO layer is telling me that the make attribute is invalid it would be nice to map it to the make field on the screen. I am wondering if any of you have tackled this problem or have some ideas on how to tackle it?
BrianLet it throw an exception with a self explaining message, then catch it and embed that message in a FacesMessage.
Or let it throw more specific exception types (InvalidCarMakeException extends CarDAOException and so on) and let JSF handle it with own FacesMessage message. -
Usage of LOCALE in Localization of Presentation Layer metadata
Hi,
This is about usage of LOCALE in Localization of Presentation Layer metadata.
The value of WEBLANGUAGE variable can be directly passed to the initialization block (2nd Initialization block ) which contains the sql:
select SESSION_VARIABLE, TRANSLATION from external where LANGUAGE = ‘VALUEOF(NQ_SESSION.LOCALE)’
So that, it comes to have the below sql:
select SESSION_VARIABLE, TRANSLATION from external where LANGUAGE = ‘VALUEOF(NQ_SESSION.WEBLANGUAGE)’
This avoids the need of using extra Initialization Block for LOCALE variable.
Is there is any need to use and initialize LOCALE ?Each interactive object remains active even if it is covered by a non-interactive object.
More info about using shape buttons, either on master slide or timed for the rest of the project: http://blog.lilybiri.com/why-i-like-shape-buttons-captivate-6
Be careful: when timed for the rest of the project, to have them visible everywhere normally you put it On top. But in this case, that will mean they'll be on top of the Lightboxes. I have been presenting about lightboxes once, maybe I should write it down in a blog post.
Lilybiri -
OBIEE presentation layer agregate values are not acurate
hi,
i have a simple BMM where for the given fact year wise i want to show summation of values and %.
here is the query generated by the OBIEE
WITH
SAWITH0 AS (select sum(T5779.SLA_NOT_MET) as c1,
sum(T5779.SLA_MET) as c2,
count(T5779.APP_ID) as c3,
T5801.CALENDAR_YEAR as c4,
T5801.TIME_ID as c5
from
SQA_CAS_TIMES T5801,
SQA_CAS_FCT T5779
where ( T5779.TIME_ID = T5801.TIME_ID )
group by T5801.TIME_ID, T5801.CALENDAR_YEAR),
SAWITH1 AS (select distinct SAWITH0.c4 as c1,
SAWITH0.c3 as c2,
SAWITH0.c2 as c3,
SAWITH0.c1 as c4,
SAWITH0.c2 / nullif( SAWITH0.c3, 0) * 100 as c5,
SAWITH0.c1 / nullif( SAWITH0.c3, 0) * 100 as c6,
SAWITH0.c5 as c7
from
SAWITH0)
select SAWITH1.c1 as c1,
SAWITH1.c2 as c2,
SAWITH1.c3 as c3,
SAWITH1.c4 as c4,
SAWITH1.c5 as c5,
SAWITH1.c6 as c6
from
SAWITH1
order by c1
the results are comming wrong when i am doing piviot in presentation layer but this query when i check if i remove the group by time_id then the results are correct
WITH
SAWITH0 AS (select sum(T5779.SLA_NOT_MET) as c1,
sum(T5779.SLA_MET) as c2,
count(T5779.APP_ID) as c3,
T5801.CALENDAR_YEAR as c4
from
SQA_CAS_TIMES T5801,
SQA_CAS_FCT T5779
where ( T5779.TIME_ID = T5801.TIME_ID )
group by T5801.CALENDAR_YEAR),
SAWITH1 AS (select distinct SAWITH0.c4 as c1,
SAWITH0.c3 as c2,
SAWITH0.c2 as c3,
SAWITH0.c1 as c4,
SAWITH0.c2 / nullif( SAWITH0.c3, 0) * 100 as c5,
SAWITH0.c1 / nullif( SAWITH0.c3, 0) * 100 as c6
from
SAWITH0)
select SAWITH1.c1 as c1,
SAWITH1.c2 as c2,
SAWITH1.c3 as c3,
SAWITH1.c4 as c4,
SAWITH1.c5 as c5,
SAWITH1.c6 as c6
from
SAWITH1
order by c1
The above one is without time_id in group by.
can some one suggest as to what is wrong with the pivot for the above query.why are u bringing TIME_ID column in the first Query... just remove it from the Criteria TAB.
-
License Key installation - Error from database layer
when i am trying to install license key i am getting the following error message
<b>"Error from database layer"</b>
following are the values passed.
SAP system = NSP
Inst. Number = DEMOSYSTEM
Hardware Kye = XXXXXX
System Number = left balnk
Expires on = Expiry date received in themail
Key = key received in the mail
Help please
Regards
RajaI have the same problems... And I tried hard to follow your explanations but I did not manage to get it all sorted... Especially the hint "finally resolved it..." ..."because some tables where missing" didn't help me too much...
Can you help please?
The problem:
I would like to write some programs but I get the error I need a developer id. Therefore I read all the topics about getting a license and the developer key and got the email containing the following:
"Your Hardware key : P1297367619
Your License Key : TZRNG1J1FOLSOZEZTZ8J8TOP
License Expiration date: 20060102
SID : NSP
Installation-Nr. : DEMOSYSTEM"
I set it all in the SLICENSE and I got the following error:
"Error from database layer"
With some retries I got also the error
"Invalid license key"
I am stuck. What do I need to check, do ?
I am a SAP newbie so please give me directions...
cheers
stefan -
Error during presentation services restart
I get the following error during presentation services restart, Are there any compatibility issues with-in our product ? Here is our set-up : OBIEE 11.1.1.6.7 Linux 6.3 DB - Oracle 11g R2
sawlog0.log:[2013-08-12T15:27:56.000-06:00] [OBIPS] [ERROR:1] [] [saw.webextensionbase.init] [ecid: ] [tid: ] ODBC driver preload failed. ODBC library name: 'libnqsodbc64.so'[[
sawlog0.log:[2013-08-12T15:27:56.000-06:00] [OBIPS] [ERROR:1] [] [saw.webextensionbase.init] [ecid: ] [tid: ] libnqshttpclientwrapper64.so: ELF load command past end of file[[
sawlog0.log:[2013-08-12T15:28:02.000-06:00] [OBIPS] [ERROR:1] [] [saw.webextensionbase.init] [ecid: ] [tid: ] ODBC driver preload failed. ODBC library name: 'libnqsodbc64.so'[[
sawlog0.log:[2013-08-12T15:28:02.000-06:00] [OBIPS] [ERROR:1] [] [saw.webextensionbase.init] [ecid: ] [tid: ] /u01/app/oracle/product/11.1.1.6/mwhome1/Oracle_BI1/bifoundation/server/bin/libnqutilityclient64.so: undefined symbol: _ZN13DynamicLoader11makeLibNameERKN7_SASSTL4ropeIwNS0_9allocatorIwEEEEbS6_[[
Thanks for your helpyou need to add these below variables
ORACLE_HOME=/opt/oracle/shared/product/11.2.0
export ORACLE_HOME
TNS_ADMIN=/var/opt/oracle
export TNS_ADMIN
PATH=$ORACLE_HOME/bin:$PATH
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
not the same as above as your DB client may have a different path
and then restart the services -
SXMB_MONI - Error accessing persistence layer
Hi,
In SXMB_MONI there are messages with status "system error manual restart possible" and "scheduled". when i try opening those messages it says "XML message not found". I no longer need those messages and want to delete them. But when i try to cancel those messages it says " Error accessing persistence layer".
Is there any way by which I can delete those messages?
Regards,
Mateen.Hi Meetan
refer these thread for the same may be helpful for you
IS_Retry and RSXMB_RESTART_MESSAGES
release queue
BPM error
/people/krishna.moorthyp/blog/2005/11/28/inactive-integration-process-ip-at-run-time
Thanks!!
Maybe you are looking for
-
How do i set up my apple id with itunes and the appstore?
How do i set up my apple id with itunes and the appstore?
-
Error in creating a view for an assignment block
Hello All, I am trying to create an assignment block in web UI using links below. http://weblogs.sdn.sap.com/cs/mobile/view/wlg/21034?x-topic=89 -- to create a table and corresponding BOL entity. http://wiki.sdn.sap.com/wiki/display/CRM/CRMWebUITech
-
More Quantity of Raw Material noticed in Quality Inspection
Dear Experts, We have done GR against the PO for a material. But in Quality Inspection, we have noticed that there is excess quantity of stock received which is more than the inspection lot quantity. My issue is that inspection lot quantity will be c
-
Collab CopyProjectMetaData - the operation has timed out
For the life of me, I can't get the CopyProjectMetaData to run w/o timing out. It'll work about 1 in 10 trys if that. I'm using CopyProjectContent on the same two projects successfully everytime. But CopyProjectMetaData is basically useless. Anyone?
-
Dock has replaced some app icons with question marks
In my case, EndHangingDisconnect (which I hope I'll never need), the beta of QuarkXpress 7 and Palm Desktop. I can add these apps to the dock and launch them thereafter but the question marks remain. What gives and how do I get rid of them? iMac DV 4