Creating dynamic EntityObject, ViewObject and wire them to UI components
hi experts,
Good morning to all :)
here i h'd a problem in real time (while on customization).
My problem: goes here
Re-drawing UI
ok.i through this link
http://jobinesh.blogspot.in/2010/06/model-driven-approach-for-building.html
jobinesh project is fine.
but i h'd a doubt in that project(my doubt goes At end of the thread).
Basis on the real time requirement what I did means?.
i added a new field(SNO) in db. in am just a new created field in am(as select statement).
jobinesh codes in am
private String getQuery(String viewName) {
String query = "";
if (DEPT.equals(viewName)) {
query = "SELECT Departments.DEPARTMENT_ID, \n" +
" Departments.DEPARTMENT_NAME, \n" +
" Departments.MANAGER_ID, \n" +
" Departments.LOCATION_ID\n" +
"FROM DEPARTMENTS Departments";
} else {
query = "SELECT Employees.EMPLOYEE_ID, \n" +
" Employees.FIRST_NAME, \n" +
" Employees.LAST_NAME, \n" +
" Employees.EMAIL, \n" +
" Employees.PHONE_NUMBER, \n" +
" Employees.HIRE_DATE, \n" +
" Employees.JOB_ID, \n" +
" Employees.SALARY, \n" +
" Employees.COMMISSION_PCT, \n" +
" Employees.MANAGER_ID, \n" +
" Employees.DEPARTMENT_ID\n" +
"FROM EMPLOYEES Employees";
return query;
}i added new field in db. say SNo
so i modify the code as follows
private String getQuery(String viewName) {
String query = "";
if (DEPT.equals(viewName)) {
query = "SELECT Departments.DEPARTMENT_ID, \n" +
" Departments.DEPARTMENT_NAME, \n" +
" Departments.MANAGER_ID, \n" +
" Departments.LOCATION_ID\n" +
"FROM DEPARTMENTS Departments";
} else {
query = "SELECT Employees.EMPLOYEE_ID, \n" +
" Employees.FIRST_NAME, \n" +
" Employees.LAST_NAME, \n" +
" Employees.EMAIL, \n" +
" Employees.PHONE_NUMBER, \n" +
" Employees.HIRE_DATE, \n" +
" Employees.JOB_ID, \n" +
" Employees.SALARY, \n" +
" Employees.COMMISSION_PCT, \n" +
" Employees.MANAGER_ID, \n" +
" Employees.DEPARTMENT_ID,\n" +
" Employees.SNO\n" +
"FROM EMPLOYEES Employees";
return query;
}that field is rendering in the dynamic ui.
here the doubt is:
1.*how can i added lov for sno*. why am asking means that field is not in vo only in db. just am field add in select statement. if am wrong correct me.
2.Coming Dynamic UI. Jobinesh shows some readonly dynamic af: table. I need some editable i have to perform CRUD operation and transaction is it possible.
ADF7,
this all looks really complicated. Do you really need the ui that dynamic?
If yes, you'll need to pay the price for it. Price for you is that you don't get much help here as nobody has the time to work through all of this (if she/he isn't doing this already).
I try to point out some things without knwoing the detail:
Q1: I don't understand your question. As you added the new attribute to the query it should be part of the resulting VO (that what dynamic VO is about).
Q2: Jobinesh showed the solution in use case 3. It's more work and you might run in trouble on the way (read the comments...), but this look like the way to go.
Timo
Similar Messages
-
Creating dynamic sized arrays and filling them automatically on speedy 33
hi all,
I am trying to create dynamic sized arrays on Speedy-33. Specifically, depending on the user input, I want to be able to create
arrays with 128 or 256 elements and fill them automatically. However,
array constant element is fixed for Speedy 33; thus I have to manually set the
size of the array with the mouse and enter the values in to the array by
myself. I want to make this tedious process automatic. Would this be possible? thanks so much for comments!
~casiopeaCasiopea,
There is a really great article on using arrays with LabVIEW DSC which can be found here:
How Can I Be Successful With Arrays In the LabVIEW DSP Module?
One of the biggest things that should be noted about DSP is that there is no dynamic memory allocation. Your array size must be fixed, and thus, your array needs to be initialized by using a constant.
An easy way to initialize an array constant that has many elements that are all the same is to simply create a numeric constant that has the value that you want. Then, create a new blank array constant and drag the numeric into it. In the index input for the array constant, type in the index of the last element that you want to be initialized. Then type in the value in the element that is displayed and all of the elements before it will be initialized to the default value of the numeric constant that you dropped into the array constant. I hope this helps. I would really recommend reading through that article, as it has a lot of great information about using arrays with DSC.
Brian Coalson
Software Engineer
National Instruments -
Is it legal to create packaged APEX applications and sell them?
Is it legal to create packaged APEX applications and sell them to Oracle DB licensed clients?
A.No licensing applies to any environment where you have a live database. The exception is that you can try a product without license, but as soon as development of a product of developing/testing of an in-house solution is done, you need to be licensed. Being a partner changes this slightly assuming all parties involved are partners (one sigle tester from the outside shifts it back to full license mode).
Another situation where license is not needed is to use XE for which no license is required.
Yet one more way to have al low cost is to use Amazon AWS to set up an image with an included license. The cost per hour is really low so it may be a good model to not have to pay everything upfront.
You can also reduce license cost by using named user licensing in development assuming there are few people who ned to access the database. Though there are minimums of number of named user licenses you can have depending on edition of the database.
Overall, knowing your licensing requirements is key. The defense "We didn't know" has been tried before and has not proven to help at all. The cost of an audit will often be a CLM for the person responsible to pay the licenses. -
How to create dynamic View Object and Dynamic Table
Dear ll
I want to create a dynamic view object and display the output in a dynamic table on the page.
I am using Jdeveloper 12c "Studio Edition Version 12.1.2.0.0"
This what I did:
1- I created a read only view object with this query "Select sysdate from dual"
2- I added this View object to the application module
3- I created a new method that change the query of this View object at runtime
public void changeVoQuery(String dbViewName) {
String sqlstm = "Select * From " + dbViewName;
ViewObject dynamicVo = this.findViewObject("DynamicVo");
if (dynamicVo != null) {
dynamicVo.remove();
dynamicVo = this.createViewObjectFromQueryStmt("DynamicVo", sqlstm);
dynamicVo.executeQuery();
4- I run the application module for testing the method and I passed "Scott.Emp" as a parameter and the result was Success
5- Now I want to show the result of the view on the page, so I draged and dropped the method from the data control as a parameter form
6- I dragged and dropped the view Object "DynamicVo" as a table and I choose "generate Column Dynamically at runtime". This is the page source
<af:panelHeader text="#{viewcontrollerBundle.SELECT_DOCUMTN_TYPE}" id="ph1">
<af:panelFormLayout id="pfl1">
<af:inputText value="#{bindings.dbViewName.inputValue}" label="#{bindings.dbViewName.hints.label}"
required="#{bindings.dbViewName.hints.mandatory}"
columns="#{bindings.dbViewName.hints.displayWidth}"
maximumLength="#{bindings.dbViewName.hints.precision}"
shortDesc="#{bindings.dbViewName.hints.tooltip}" id="it1">
<f:validator binding="#{bindings.dbViewName.validator}"/>
</af:inputText>
<af:button actionListener="#{bindings.changeVoQuery.execute}" text="changeVoQuery"
disabled="#{!bindings.changeVoQuery.enabled}" id="b1"/>
</af:panelFormLayout>
</af:panelHeader>
<af:table value="#{bindings.DynamicVo.collectionModel}" var="row" rows="#{bindings.DynamicVo.rangeSize}"
emptyText="#{bindings.DynamicVo.viewable ? 'No data to display.' : 'Access Denied.'}"
rowBandingInterval="0" selectedRowKeys="#{bindings.DynamicVo.collectionModel.selectedRow}"
selectionListener="#{bindings.DynamicVo.collectionModel.makeCurrent}" rowSelection="single"
fetchSize="#{bindings.DynamicVo.rangeSize}" filterModel="#{bindings.DynamicVoQuery.queryDescriptor}"
queryListener="#{bindings.DynamicVoQuery.processQuery}" filterVisible="true" varStatus="vs" id="t1"
partialTriggers="::b1">
<af:iterator id="i1" value="#{bindings.DynamicVo.attributesModel.attributes}" var="column">
<af:column headerText="#{column.label}" sortProperty="#{column.name}" sortable="true" filterable="true"
id="c1">
<af:dynamicComponent id="d1" attributeModel="#{column}"
value="#{row.bindings[column.name].inputValue}"/>
</af:column>
</af:iterator>
</af:table>
when I run the page this error is occured
<Nov 13, 2013 2:51:58 PM AST> <Error> <oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter> <BEA-000000> <ADF_FACES-60096:Server Exception during PPR, #1
javax.el.ELException: java.lang.NullPointerException
Caused By: java.lang.NullPointerException
Can any body help me please
thanksHave you seen Shay's video https://blogs.oracle.com/shay/entry/adf_faces_dynamic_tags_-_for_a
All you have to do is to use the dynamic table to get your result.
Timo -
Creating dynamic buttons with pictures on them
Hi there,
What is the procedure for doing so?
I need to create 5 buttons which looks the same, and each one of them has a picture on it.
I'm new to Flash/Action Script.
I created a button symbol, named it and created linkage to AS.
I also created a MovieClip that holds the picture I want to put on top of the button and created a linkage.
Then in the code I create two instances and display them
This is the code:
public function setBBWBtnProp(btn:btnChoose, tmb:MovieClip, idx:int)
btn.height = 120;
btn.width = 120;
btn.x = 20;
btn.y = 15 + 140 * idx;
tmb.x = btn.x + 5;
tmb.y = btn.y + 5;
var btn1:btnChoose = new btnChoose();
var tmb1:mvBBW02Thumb = new mvBBW02Thumb();
setBBWBtnProp(btn1, tmb1, 0);
ph.addChild(btn1);
ph.addChild(tmb1);
Now, it works but the movieclip blocks the button...
Any idea how to do it correctly...I'm only an intermediate scripter, but in my experience it seems like it's a mistake to mix coding with buttons. Instead use a movie clip and assign listeners to it.
look up functions like the onese I use below
actorButton is my movie clip
private function registerMyButton(){
actorButton.buttonMode = true;
actorButton.addEventListener(MouseEvent.CLICK, reportClick);
function reportClick(event:MouseEvent):void{
var thisPage = myImgData.web_page_str;
var targetURL:URLRequest = new URLRequest(thisPage);
navigateToURL(targetURL, "_self");
hope that helps
...gregory -
How 2 create dynamic internal table and can we pass it to gui_download FM
HI all,
How can we create a dynamic internal table?
I have a requirement where i have to create an internal table with the no. of fields depending on the selection screen values, i think tat can be possible though dynamic creation only.
How to solve this issue..?Pointers will be very much useful..
Thanks
Sunny.hi
Follow the code it will help you out....
REPORT YUSMM_TEXT2 .
*TABLES
TABLES: MARA, " General Material Data
MAKT, " Material Descriptions
T002. " Language Keys
* GLOBAL TYPE-POOL
TYPE-POOLS : SLIS.
* GLOBAL TYPES
TYPES: BEGIN OF TP_LANG ,
SPRAS LIKE T002-SPRAS,
LAISO LIKE T002-LAISO,
SRNO(3) TYPE N,
END OF TP_LANG.
TYPES: BEGIN OF TP_MATNR,
MATNR LIKE MARA-MATNR,
BEGRU LIKE MARA-BEGRU,
END OF TP_MATNR.
* DECLARATION FOR GLOBAL INTERNAL TABLES (WITH INCLUDE STRUCTURE)
DATA:GT_MAKT TYPE STANDARD TABLE OF MAKT, "Materialkurztexte,
GT_THEAD TYPE STANDARD TABLE OF THEAD, "SAPscript: Text-Header,
GT_LINETAB TYPE STANDARD TABLE OF TLINE, "SAPscript: Text-Zeilen,
GT_T002 TYPE STANDARD TABLE OF T002. "Language key
DATA: BEGIN OF GV_TEXT_OUTPUT_LINE,
MATNR LIKE MARA-MATNR,
BEGRU LIKE MARA-BEGRU,
MAKTX LIKE MAKT-MAKTX,
LTXT40(1250) TYPE C,
SRNO(3) TYPE N,
SPRAS LIKE T002-SPRAS,
END OF GV_TEXT_OUTPUT_LINE.
DATA: GT_MATNR TYPE STANDARD TABLE OF TP_MATNR,
WA_GT_MATNR TYPE TP_MATNR.
DATA: GT_LANG TYPE STANDARD TABLE OF TP_LANG,
WA_GT_LANG TYPE TP_LANG.
DATA: GT_TEXT_OUTPUT_LINE LIKE STANDARD TABLE OF GV_TEXT_OUTPUT_LINE,
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
GV_FIELDCAT LIKE LINE OF GT_FIELDCAT,
CT_GT_FIELDCAT_IN LIKE GV_FIELDCAT,
GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GV_REPID TYPE SY-REPID.
DATA: BEGIN OF GV,
FORMER_ERROR LIKE SY-MARKY, " Fehlermeldung bereits
FILE_OPEN(1), " Flag open file
REC_LENGTH TYPE I, " record length
MATNR TYPE MARA-MATNR, " material
REPID TYPE SYST-REPID,
RETCO TYPE SY-SUBRC,
END OF GV.
DATA: GV_MAKT TYPE MAKT,
GV_T002 TYPE T002,
GV_LANGU TYPE THEAD-TDSPRAS.
* DECLARATION FOR FIELD-SYMBOLS
FIELD-SYMBOLS: <FS_DATA> TYPE REF TO DATA,
<FS_DATA1> TYPE REF TO DATA,
<FS_2> TYPE STANDARD TABLE,
<FS_22> TYPE STANDARD TABLE,
<FS_1>,
<FS_11>,
<F>,
<FA>,
<LWA_LINE_WA>,
<LWA_LINE_WA1>.
DATA: IT_FLDCAT TYPE LVC_T_FCAT.
DATA: T_FLDCAT1 TYPE SLIS_T_FIELDCAT_ALV.
DATA: L_LT TYPE SLIS_LAYOUT_ALV.
DATA: WA_IT_FLDCAT TYPE LVC_S_FCAT.
DATA: WA_IT_FLDCAT1 TYPE SLIS_FIELDCAT_ALV.
DATA: GP_TABLE TYPE REF TO DATA.
DATA: WA_NEWLINE TYPE REF TO DATA.
*DECLARATION FOR CONSTANTS
CONSTANTS:
BEGIN OF GC,
TDID_GRUN TYPE THEAD-TDID VALUE 'GRUN',
TDOBJECT_MAT TYPE THEAD-TDOBJECT VALUE 'MATERIAL',
ON(01) TYPE C VALUE 'X',
YES(01) TYPE C VALUE 'X',
TXT(25) TYPE C VALUE 'MATERIAL DETAILS',
MAT(25) TYPE C VALUE 'MATERIAL NUMBER',
AUT(25) TYPE C VALUE 'AUTHORIZATION GROUP',
FOUND TYPE SY-SUBRC VALUE '00', " Return-Code
RC_OK TYPE SY-SUBRC VALUE '00', " Return-Code
OFF TYPE SY-SUBRC VALUE '00', " return code
FALSE TYPE SY-SUBRC VALUE '00', " boolean
TRUE TYPE SY-SUBRC VALUE '01', " boolean
END OF GC.
* DECLARATION FOR VARIABLES
DATA: V(3) TYPE N,
STR TYPE STRING,
STR1 TYPE STRING,
V_VAR(3) TYPE N,
V_VAR1(3) TYPE N,
V_FIELDNAME(15) TYPE C,
V_CHAR(15) TYPE C,
V_LINES(3) TYPE N,
MAKTEXT LIKE MAKT-MAKTX,
LT_DATA TYPE REF TO DATA,
LT_DATA1 TYPE REF TO DATA,
LWA_LINE TYPE REF TO DATA,
LWA_LINE1 TYPE REF TO DATA.
*SELECTION-SCREEN AND PARAMETERS
SELECTION-SCREEN: BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS:
S_MATNR FOR MARA-MATNR, "MATERIAL NUMBER
S_MTART FOR MARA-MTART, "MATERIAL TEXT
S_LANG FOR MAKT-SPRAS. "LANGUAGE
PARAMETER: GP_SIZE TYPE I DEFAULT 200. "DATA LENGTH
SELECTION-SCREEN: END OF BLOCK A1.
* AT SELECTION SCREEN
AT SELECTION-SCREEN.
IF GP_SIZE < 0.
MESSAGE E002(00).
ENDIF.
IF GP_SIZE > 50000.
MESSAGE W130(26) WITH TEXT-004.
SET CURSOR FIELD 'gp_size'.
ENDIF.
* INITIALIZATION
INITIALIZATION.
GV-REPID = SY-REPID.
*START-OF-SELECTION
START-OF-SELECTION.
PERFORM GET_MARA_DATA
TABLES
GT_TEXT_OUTPUT_LINE
USING
S_MATNR[]
S_MTART[]
GP_SIZE
CHANGING
GV-RETCO
PERFORM GET_MAT_TEXT
TABLES
GT_MAKT
GT_TEXT_OUTPUT_LINE
GT_THEAD
GT_LINETAB
USING
GC
GV-RETCO
CHANGING
GV_TEXT_OUTPUT_LINE
GV_MAKT
PERFORM GET_LANG.
PERFORM DYNAMIC_TABLES.
PERFORM POPULATE_FINAL_TABLE.
PERFORM POPULATE_DYNAMIC_TABLE.
* END-OF-SELECTION
END-OF-SELECTION.
PERFORM DATA_OUTPUT.
*& Form get_mara_data
* Materialdaten lesen
* <->ct_gt_text_output_line Ausgabetabelle
* -->it_s_matnr Parameter Materialnummer
* -->it_s_mtart Parameter Materialart
* -->if_gp_size Parameter Anzahl Materialnummern
FORM GET_MARA_DATA TABLES CT_GT_TEXT_OUTPUT_LINE STRUCTURE
GV_TEXT_OUTPUT_LINE
USING IT_S_MATNR LIKE S_MATNR[]
IT_S_MTART LIKE S_MTART[]
IF_GP_SIZE
CHANGING IF_GV-RETCO. "#EC *
* MARA in die Übergabestruktur einlesen
SELECT MATNR BEGRU
FROM MARA UP TO IF_GP_SIZE ROWS
APPENDING CORRESPONDING FIELDS OF TABLE GT_MATNR
WHERE MATNR IN IT_S_MATNR
AND MTART IN IT_S_MTART.
IF_GV-RETCO = SY-SUBRC.
ENDFORM. " get_mara_data
*& Form get_mat_text
* Kurz- und Langtexte zum Material lesen
* <->ct_gt_makt Materialkurztexte
* <->ct_gt_text_output_line Ausgabetabelle
* <->ct_gt_thead Kopftabelle für ALV
* <->ct_gt_linetab Zeilentabelle für ALV
* -->if_gc Globale Konstanten
* <--cf_gv_text_output_line Struktur Ausgabetabelle
* <--cf_gv_makt Struktru Materialkurztexte
FORM GET_MAT_TEXT TABLES CT_GT_MAKT STRUCTURE MAKT
CT_GT_TEXT_OUTPUT_LINE STRUCTURE
GV_TEXT_OUTPUT_LINE
CT_GT_THEAD STRUCTURE THEAD
CT_GT_LINETAB STRUCTURE TLINE
USING
IF_GC LIKE GC
IF_GV-RETCO
CHANGING CF_GV_TEXT_OUTPUT_LINE LIKE
GV_TEXT_OUTPUT_LINE
CF_GV_MAKT LIKE GV_MAKT
DATA: STRG TYPE STRING,
STRG1(1255) TYPE C.
IF IF_GV-RETCO = IF_GC-FOUND.
* Materialkurztexte in alles Sprachen einlesen
SELECT * FROM MAKT APPENDING TABLE CT_GT_MAKT
FOR ALL ENTRIES IN GT_MATNR "ct_gt_text_output_line
WHERE MATNR = GT_MATNR-MATNR " ct_gt_text_output_line-matnr
* Kurztexte in die sprachabhängigen Felder bringen
LOOP AT GT_MATNR INTO WA_GT_MATNR.
LOOP AT CT_GT_MAKT INTO CF_GV_MAKT
WHERE MATNR = WA_GT_MATNR-MATNR.
CF_GV_TEXT_OUTPUT_LINE-MATNR = WA_GT_MATNR-MATNR.
CF_GV_TEXT_OUTPUT_LINE-BEGRU = WA_GT_MATNR-BEGRU.
CF_GV_TEXT_OUTPUT_LINE-MAKTX = CF_GV_MAKT-MAKTX.
CF_GV_TEXT_OUTPUT_LINE-SPRAS = CF_GV_MAKT-SPRAS.
* LANGTEXT
CLEAR CT_GT_THEAD[].
CT_GT_THEAD-TDOBJECT = IF_GC-TDOBJECT_MAT.
CT_GT_THEAD-TDNAME = WA_GT_MATNR-MATNR.
CT_GT_THEAD-TDID = IF_GC-TDID_GRUN.
CT_GT_THEAD-TDSPRAS = CF_GV_MAKT-SPRAS.
CALL FUNCTION 'TEXT_READ'
EXPORTING
I_HEADER = CT_GT_THEAD
I_READONLY = IF_GC-ON
IMPORTING
E_HEADER = CT_GT_THEAD
TABLES
T_LINES = CT_GT_LINETAB[]
EXCEPTIONS
NOTFOUND = 1.
IF SY-SUBRC = IF_GC-FOUND.
LOOP AT CT_GT_LINETAB.
STRG = CT_GT_LINETAB-TDLINE.
IF STRG1 <> ' '.
CONCATENATE STRG1 ';' STRG INTO STRG1.
ELSE.
STRG1 = STRG.
ENDIF.
ENDLOOP.
CF_GV_TEXT_OUTPUT_LINE-LTXT40 = STRG1.
APPEND CF_GV_TEXT_OUTPUT_LINE TO CT_GT_TEXT_OUTPUT_LINE.
CLEAR CF_GV_TEXT_OUTPUT_LINE.
STRG1 = ' '.
ELSE.
APPEND CF_GV_TEXT_OUTPUT_LINE TO CT_GT_TEXT_OUTPUT_LINE.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
ENDFORM. " get_mat_text
*& Form data_output
* Daten mit ALV ausgeben
* <->ct_GT_FIELDCAT Feldkatalog für ALV
* <->ct_gt_text_output_line Ausgabetabelle
* -->P_GS_LAYOUT Layout für ALV
* -->if_gc Globale Konstanten
* <--cf_GV_REPID Zur Zeit aufgerufener Reportname
* <--cf_gv_fieldcat Struktur Feldkatalog
* <--cf_gv Globale Variablen
FORM DATA_OUTPUT.
PERFORM FIELDCATBUILD.
PERFORM LAYOUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GV-REPID
I_CALLBACK_PF_STATUS_SET = 'EVENT_SET_STATUS_01'
I_CALLBACK_USER_COMMAND = 'EVENT_USER_COMMAND'
IS_LAYOUT = L_LT
IT_FIELDCAT = T_FLDCAT1[]
TABLES
T_OUTTAB = <FS_2>
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> GC-FOUND.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " data_output
*& Form fieldcatbuild
* text
* --> p1 text
* <-- p2 text
FORM FIELDCATBUILD. " TABLES ct_gt_fieldcat_in STRUCTURE gv_fieldcat.
LOOP AT IT_FLDCAT INTO WA_IT_FLDCAT.
WA_IT_FLDCAT1-FIELDNAME = WA_IT_FLDCAT-FIELDNAME.
WA_IT_FLDCAT1-TABNAME = WA_IT_FLDCAT-TABNAME.
WA_IT_FLDCAT1-SELTEXT_L = WA_IT_FLDCAT-FIELDNAME.
APPEND WA_IT_FLDCAT1 TO T_FLDCAT1.
CLEAR : WA_IT_FLDCAT,WA_IT_FLDCAT1.
ENDLOOP.
ENDFORM. " fieldcatbuild
* Form event_set_status_01*
FORM EVENT_SET_STATUS_01 USING LT_EXCL TYPE SLIS_T_EXTAB.
SET PF-STATUS 'ABCD' .
ENDFORM. "EVENT_SET_STATUS_01
*& Form Name: event_user_command *
*& Form Desc: For Handling USER_COMMAND *
FORM EVENT_USER_COMMAND USING
IF_UCOMM TYPE SY-UCOMM
IS_SELFIELD TYPE SLIS_SELFIELD.
CASE IF_UCOMM.
WHEN 'DOWNLOAD'.
PERFORM POPULATE_DOWNLOAD_TABLE.
DATA: L_LENGHT TYPE I.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:data.xls'
FILETYPE = 'ASC'
WRITE_FIELD_SEPARATOR = 'X'
TRUNC_TRAILING_BLANKS = 'X'
DAT_MODE = 'X'
IMPORTING
FILELENGTH = L_LENGHT
TABLES
DATA_TAB = <FS_22>.
IF SY-SUBRC <> GC-FOUND.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF L_LENGHT NE GC-FOUND.
MESSAGE S398(00) WITH 'DATA downloaded to c:data.xls'.
ENDIF.
ENDCASE.
ENDFORM. "event_user_command
*& Form get_lang
* text
* --> p1 text
* <-- p2 text
FORM GET_LANG.
SELECT SPRAS
LAISO FROM T002 INTO CORRESPONDING FIELDS OF TABLE GT_LANG
WHERE SPRAS IN S_LANG.
DESCRIBE TABLE GT_LANG LINES V_LINES.
LOOP AT GT_LANG INTO WA_GT_LANG.
V = V + 1.
WA_GT_LANG-SRNO = V.
MODIFY GT_LANG FROM WA_GT_LANG TRANSPORTING SRNO.
ENDLOOP.
LOOP AT GT_LANG INTO WA_GT_LANG.
CONCATENATE 'MATEDESC-' WA_GT_LANG-LAISO INTO V_FIELDNAME.
CLEAR WA_IT_FLDCAT.
WA_IT_FLDCAT-FIELDNAME = V_FIELDNAME.
WA_IT_FLDCAT-SELTEXT = V_FIELDNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-INTLEN = 40.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
APPEND WA_IT_FLDCAT TO IT_FLDCAT .
CLEAR WA_GT_LANG.
ENDLOOP.
LOOP AT GT_LANG INTO WA_GT_LANG.
CONCATENATE 'BASDAT-' WA_GT_LANG-LAISO INTO V_FIELDNAME.
CLEAR WA_IT_FLDCAT.
WA_IT_FLDCAT-FIELDNAME = V_FIELDNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-INTLEN = 255.
WA_IT_FLDCAT-SELTEXT = V_FIELDNAME.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
APPEND WA_IT_FLDCAT TO IT_FLDCAT .
CLEAR WA_GT_LANG.
ENDLOOP.
V_FIELDNAME = 'MATNR'.
CLEAR WA_IT_FLDCAT.
WA_IT_FLDCAT-FIELDNAME = V_FIELDNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-SELTEXT = 'Matnr'.
WA_IT_FLDCAT-INTLEN = 18.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
INSERT WA_IT_FLDCAT INTO IT_FLDCAT INDEX 1.
V_FIELDNAME = 'BEGRU'.
CLEAR WA_IT_FLDCAT.
WA_IT_FLDCAT-FIELDNAME = V_FIELDNAME.
WA_IT_FLDCAT-DATATYPE = 'CHAR'.
WA_IT_FLDCAT-SELTEXT = 'BEGRU'.
WA_IT_FLDCAT-INTLEN = 4.
WA_IT_FLDCAT-TABNAME = '<FS_2>'.
INSERT WA_IT_FLDCAT INTO IT_FLDCAT INDEX 2.
ENDFORM. " get_lang
*& Form dynamic_tables
* text
* --> p1 text
* <-- p2 text
FORM DYNAMIC_TABLES.
ASSIGN LT_DATA TO <FS_DATA>.
* Creating the Dynamic Internal Table
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IT_FLDCAT " Fieldcatalogue
IMPORTING
EP_TABLE = <FS_DATA> " Dynamic Internal Table
EXCEPTIONS
GENERATE_SUBPOOL_DIR_FULL = 1
OTHERS = 2.
* Assign Dyn Table To Field Sumbol
ASSIGN <FS_DATA>->* TO <FS_1>.
* Assigning the Internal Table TYPE ANY to Standard internal Table
ASSIGN <FS_1> TO <FS_2>.
* Creating a Workarea
CREATE DATA LWA_LINE LIKE LINE OF <FS_2> .
* Assigning the Content to the workares as a Pointer
ASSIGN LWA_LINE->* TO <LWA_LINE_WA>.
ENDFORM. " dynamic_tables
*& Form populate_final_table
* text
* --> p1 text
* <-- p2 text
FORM POPULATE_FINAL_TABLE.
LOOP AT GT_TEXT_OUTPUT_LINE INTO GV_TEXT_OUTPUT_LINE.
READ TABLE GT_LANG INTO WA_GT_LANG
WITH KEY SPRAS = GV_TEXT_OUTPUT_LINE-SPRAS.
IF SY-SUBRC EQ GC-FOUND.
GV_TEXT_OUTPUT_LINE-SRNO = WA_GT_LANG-SRNO.
ENDIF.
MODIFY GT_TEXT_OUTPUT_LINE FROM GV_TEXT_OUTPUT_LINE.
ENDLOOP.
ENDFORM. " populate_final_table
*& Form populate_dynamic_table
* text
* --> p1 text
* <-- p2 text
FORM POPULATE_DYNAMIC_TABLE.
DATA: INDX TYPE SY-TABIX.
LOOP AT GT_TEXT_OUTPUT_LINE INTO GV_TEXT_OUTPUT_LINE.
AT NEW MATNR.
INDX = SY-TABIX.
ASSIGN COMPONENT 1 OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = GV_TEXT_OUTPUT_LINE-MATNR.
ASSIGN COMPONENT 2 OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = GV_TEXT_OUTPUT_LINE-BEGRU.
ENDAT.
LOOP AT GT_LANG INTO WA_GT_LANG.
IF GV_TEXT_OUTPUT_LINE-SRNO = WA_GT_LANG-SRNO.
V_VAR = GV_TEXT_OUTPUT_LINE-SRNO + 2.
ASSIGN COMPONENT V_VAR OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = GV_TEXT_OUTPUT_LINE-MAKTX.
V_VAR = GV_TEXT_OUTPUT_LINE-SRNO + V_LINES + 2.
ASSIGN COMPONENT V_VAR OF STRUCTURE <LWA_LINE_WA> TO <F>.
<F> = GV_TEXT_OUTPUT_LINE-LTXT40.
ENDIF.
ENDLOOP.
AT END OF MATNR.
APPEND <LWA_LINE_WA> TO <FS_2>.
CLEAR <LWA_LINE_WA>.
ENDAT.
ENDLOOP.
ENDFORM. " populate_dynamic_table
*& Form LAYOUT
* text
* --> p1 text
* <-- p2 text
FORM LAYOUT.
CLEAR L_LT.
L_LT-ZEBRA = GC-YES.
L_LT-COLWIDTH_OPTIMIZE = 'X'.
L_LT-WINDOW_TITLEBAR = GC-TXT.
ENDFORM. " LAYOUT
*& Form populate_download_table
* text
* --> p1 text
* <-- p2 text
FORM POPULATE_DOWNLOAD_TABLE.
ASSIGN LT_DATA1 TO <FS_DATA1>.
CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
EXPORTING
IT_FIELDCATALOG = IT_FLDCAT " Fieldcatalogue
IMPORTING
EP_TABLE = <FS_DATA1> " Dynamic Internal table
EXCEPTIONS
GENERATE_SUBPOOL_DIR_FULL = 1
OTHERS = 2.
* Assign Dyn Table To Field Sumbol
ASSIGN <FS_DATA1>->* TO <FS_11>.
* Assigning the Internal Table TYPE ANY to Standard internal Table
ASSIGN <FS_11> TO <FS_22>.
* Creating a Workarea
CREATE DATA LWA_LINE1 LIKE LINE OF <FS_22> .
* Assigning the Content to the workares as a Pointer
ASSIGN LWA_LINE1->* TO <LWA_LINE_WA1>.
DATA: STRN1 TYPE STRING,
STRN2 TYPE STRING,
INDX TYPE SY-TABIX.
ASSIGN COMPONENT 1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = GC-MAT.
ASSIGN COMPONENT 2 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = GC-AUT.
LOOP AT GT_LANG INTO WA_GT_LANG.
V_VAR1 = WA_GT_LANG-SRNO + 2.
CONCATENATE 'MATERIALDESCRIPTION-' WA_GT_LANG-LAISO INTO STRN1.
ASSIGN COMPONENT V_VAR1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = STRN1.
V_VAR1 = WA_GT_LANG-SRNO + V_LINES + 2.
CONCATENATE 'BASICDATA-' WA_GT_LANG-LAISO INTO STRN2.
ASSIGN COMPONENT V_VAR1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = STRN2.
ENDLOOP.
APPEND <LWA_LINE_WA1> TO <FS_22>.
CLEAR <LWA_LINE_WA1>.
APPEND <LWA_LINE_WA1> TO <FS_22>.
V_VAR1 = 0.
LOOP AT GT_TEXT_OUTPUT_LINE INTO GV_TEXT_OUTPUT_LINE.
AT NEW MATNR.
INDX = SY-TABIX.
ASSIGN COMPONENT 1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = GV_TEXT_OUTPUT_LINE-MATNR.
ASSIGN COMPONENT 2 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = GV_TEXT_OUTPUT_LINE-BEGRU.
ENDAT.
LOOP AT GT_LANG INTO WA_GT_LANG.
IF GV_TEXT_OUTPUT_LINE-SRNO EQ WA_GT_LANG-SRNO.
V_VAR1 = GV_TEXT_OUTPUT_LINE-SRNO + 2.
ASSIGN COMPONENT V_VAR1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
<FA> = GV_TEXT_OUTPUT_LINE-MAKTX.
V_VAR1 = GV_TEXT_OUTPUT_LINE-SRNO + V_LINES + 2.
ASSIGN COMPONENT V_VAR1 OF STRUCTURE <LWA_LINE_WA1> TO <FA>.
* STR = GV_TEXT_OUTPUT_LINE-LTXT40.
* SEARCH STR FOR ';'.
* DO.
* IF SY-SUBRC = 0.
* SPLIT STR AT ';' INTO STR1 STR.
* <FA> = STR1.
* APPEND <LWA_LINE_WA1> TO <FS_22>.
* SEARCH STR FOR ';'.
* CLEAR <LWA_LINE_WA1>.
* ELSE.
* EXIT.
* ENDIF.
* ENDDO.
* <FA> = STR.
* APPEND <LWA_LINE_WA1> TO <FS_22>.
<FA> = GV_TEXT_OUTPUT_LINE-LTXT40.
ENDIF.
ENDLOOP.
AT END OF MATNR.
APPEND <LWA_LINE_WA1> TO <FS_22>.
CLEAR <LWA_LINE_WA1>.
ENDAT.
ENDLOOP.
ENDFORM. " populate_download_table
thanks
Nitya -
Hi,
I'm teaching myself LabVIEW. I wish to delay a wave form and display it with the non delayed wave form. I used a delay from the examples. The output of the delay is wire (waveform double). The Simulate signal output is dynamic data. My conversion from wire (waveform double) to dynamic does not display on the waveform graph. The VI is attached. Can anyone offer any comment.
Solved!
Go to Solution.
Attachments:
Three input graph.vi 92 KBIt is displaying just fine. The display is hidden behind the display of the second signal. Expand the Plot Legend to show all three plots. Then toggle the plot visible property of the second and third plots.
Lynn -
Is it possible to Create dynamic outbound plug and it's navigation link?
Hi,
i am trying to create an outbound plug in runtime dynamically, is it possible?
I have found out how to create the outbound plug in wdDoModifyView: "<b>view.getViewInfo().createOutboundPlug()</b>"
but the problem is how do i set the plug name, and how do i create it's navigation link to bind him to an inbound plug in another view.
Thanks,
CarmitHi Carmit,
the following code snippet creates a link between a newly created outbound plug (outbound plug name is not really necessary) and an already existing inbound plug:
/* targetViewInfo is the IWDAbstractViewInfo of navigation target
srcViewInfo is the IWDAbstractViewInfo of navigation source
Find inbound plug, must exist */
IWDInboundPlugInfo targetPlug = targetViewInfo.findInInboundPlugs(inboundPlugName);
/* Create outbound plug with "automatic" name */
IWDOutboundPlugInfo srcPlug = srcViewInfo.createOutboundPlug();
/* Create link from out to in */
IWDNavigationTargetReferenceInfo targetReferenceInfo =
srcViewUsage.createNavigationTarget(srcPlug.getName(), targetViewUsage, targetPlug.getName());
/* Fire srcPlug somewhere...*/
Hope that helps.
Regards
Stefan -
iOS 7 will not alow podcasts lists in the music app so we have to use the podcast app
but iTunes 11.1 and / or the Podcast app on iOS 7 will not show podcast play lists created in iTunes (well maybe it does but clicking on the podcasts app causes iTunes to freeze so can not select)
sometime some folders created in iTunes have appeared with the Podcast app but others not.
creating an on the go list in my iphone is agony - I have over 100 podcasts I have subscribed to and when creating a list you can not view by most recently downloadded podcast
AND you can't search (no search bar) so I have to scroll through to find a podcast that might have been updated - but they are not in any logocal order that I can work out (not alphbetical or date added).
Video podcasts are mixed with audio
podcasts I delete (unsubscribe to) keep coming back
its a disaster
my question is there an alternative iPhone app that works with iTunes
no I don't want an app where I have to download to the phone directly, thats 100 subscriptions I will have to make agaianAgree about the disaster part. I haven't found a fix within iTunes.
I gave up and switched to downcast 2 days ago. Even though it was a hassle to re-subscribe to all my podcasts, im so much happier.
To make switching easier, I found that in iTunes you can "get info" on the podcast and copy the RSS address to the clipboard. Put all of these in a message note. When iCloud syncs the note to your phone, you can copy and paste the urls into downcast one at a time to subscribe.
Downcast has crashed on me occassionally when I'm subscribing to feeds, but so far it has recovered gracefully each time and no data was lost. -
Create multiple pdf files and open them at once from java application
I came across a very unique problem , i am hoping some one could help me out with that .
I am using itext to create pdf files , i have filtered some records (preferably i can say around 90) which has the option to open pdf for individual record.
Now i need to open all the pdf's of filtered records on a single click , without asking for a open dialogue box.
Can anyone give me an idea how to go about this ??The simplest thing I can think of is to call Desktop.start() for each selected file wich will start the defaut application registred for the file type in the users system for each selected file. In this case it depends on the associated program and/or its configuration if it starts a single instance showing all the files or a separate instance for each file. The beauty of this method is that you don't need to know what reader application the user has installed nor where it is located on her hard disk.
The other option that comes to my mind is ProcessBuilder. There you could set all selected files as parameter list to the call of the viewer application.
This also does not asure that all files get openned in the same single instance but the chance is much higher. At the down side you need to know what viewer application the user has installed and where. Also: when speaking of 90 files you most likely rung into a limitation of the maximum length of the systems command line.
bye
TPD -
Dear Colleagues,
I am failry new to ABAP,as I have mainly functional MM/SD/WM/
I need to be creating a fileld such as the one seen below( ZZLOOM).This is already showing on the transactions CO02/CO03(production orders).
Can you please therefore give me step by step rough guide how to create this field and assign it to the program and the table/structure?To which program needs this to be assigned on SE38? Is it the screen data program SAPLXCO1 or the field desciption for batch input program SAPLCOKO1-please see below.
Can I create the new (ZRAL) object by copying from the above (ZZLOOM) and on which Tcode I can do this?The program SAPLCOK01 is used(according to se38) on programs,ckasses and BSP applications.
Program Name SAPLXCO1
Screen number 0100
Program Name SAPLCOCU
Status VVKOPF
Table Name ZWRK_CI_AUFK
Field Name ZZLOOM
Data Element ZZLOOM
DE Supplement 0
Screen Field ZWRK_CI_AUFK-ZZLOOM
Program Name SAPLCOKO1
Screen Number 0115
All help appreciated,
PAPJ1.Hi Archana,
I'm simply trying to add a field such as the existing ones showing up on the customer screen tab of CO02/CO03,so I copied ZZNESTNO (shown as NEST below) into a new field called ZZRALNO.
Mec MBW Start 18.05.2011
End 18.05.2011
Ele SS Start 23.05.2011
End 23.05.2011
Nest 17c
CoilNest
Pipe 16/05
Loom
COIL WIP
COIL DATE
Through F1,I found out the field details of ZZNESTNO,shown below:
Program Name SAPLXCO1
Screen number 0100
Program Name SAPLCOCU
Status VVKOPF
Table Name ZWRK_CI_AUFK
Field Name ZZNESTNO
Data Element ZZNESTNO
DE Supplement 0
Screen Field ZWRK_CI_AUFK-ZZNESTNO
Program Name SAPLCOKO1
Screen Number 0115
This is what I am trying to achieve-Is this any clearer?
Thanks a million for your help.
PAPJ1.
Edited by: PAPJ1 on Jun 8, 2011 4:37 PM -
Creating linked email addresses - and coloring them
I produce a yearly roster book for my client, a large golf club, listing all members' information, more than 600 of them each listing comntains usually 2 addresses. The book is printed, but also supplied to members as a PDF file.
Currently (and surprisingly) all the email addresses are already "hot" so one can send an email to a member simply by clicking on his address in the listing.
But my client is asking if I can make all those email addresses appear in blue (and underlined), so members know those email addressees are linked... I guess I could do it one address at a time, but I'm looking for making a GLOBAL change... I checked it at the Adobe Acrobat forum, and was told that I should try doing it while still in the original page-layout program.
...Also, will this "do the trick" when opening the PDF file on one's iPad or any tablet, or a smartphone?....
Thanks!Are the links really there, or just being interpreted by Acrobat and reader as links becasue they look like URLs? To be real, and relaible in other applictions, thyey would all need to appear inthe Hyperlinks panel I think.
That, of course, doesn't prevent you from aking them blue and underlined in ID. To decide the best method of achieving that we need more information, though. Are these independent paragraphs, or text on a line with other text? If with other text, is it always the same, or does it vary? Waht version of ID do you have?
A screen shot of a listing would probalby be helpful, but you should probably use some dummy text to simulate it rather than disclose anyone's private information here. You can embed an image in your posts by using the camera icon on the tweb page like this: -
Creating green screen vids and overlaying them on Flash sites
I've heard of a thing where I can record a video in front of
a green screen and create a flash movie to overlay on a flash
website. It almost looks like the person is living and walking
around on the site. Can some one please give me more info on this
and the tools I need to make this. I feel like I'd need the Media
Server to serve this, but I'd use Premiere to edit video, right?
Thanks in advance.Your thinking is correct. You'd use something like Premiere
to chroma key the green to a transparent background (I'm sure
there's a pile of tutorials out there), and encode to a Vp6 flv
(sorenson spark doesn't support alpha channel). Now you've got a
transparent video, and everything in your flash movie (at a lower
depth than that of your video object) will show through.
For delivery you could use FMS, but it wouldn't be a
requirement.You could just as well serve the video via http
(progressive). -
Creating dynamic Radio Buttons and Buttons
Hello All,
Presetly I am working on below functionality:
I have an ArrayCollection which is like
var sampleCollection:ArrayCollection = new ArrayCollection( [ {"filterID:1", filterName:"Occupied" }, {"filterID:2", filterName:"Unccupied" }] );
Now my requirement is to create a RadioButton and a Normal Button for every element in the ArrayCollection.
So basically the UI will be "RadioButton, Occupied, Button, Button".
Can someone help me in this respect.
Thanks in advance,
Nirmal Kumar Bhogadi.HI Nirmal,
If u want to create the radiobuton and abutton according to the arraycollection data then u follow the following principle.
Take a vbox. this is contains all the rasio button.
then do a loop to the arraycolection upto it's length.
and create the the radio button and add into vbox;
ex
<mx:Vbox id ="container"/>
script:-
privare var aa:arrayCollection = ur arraycollection;
private function addChild():void
for(var i:int=0; i<aa.length; i++)
container.addchild(new radioButton());
I think this hint will help u. if u get ur answer please give me points
Thanks
Niranjan Swain -
I made a DVD from iPhoto and iMovie but I accidentally deleted the photos from iPhoto. The only copy I hav is a DVD. Is there a way to get the pictures from the DVD back to iPhoto?
Hi
As Old Toad writes. No You can not get 100% quality back.
You can though.
Play DVD with VLC-player
PAUSE
cmd+Shift+4 - click and select photo area - or -
cmd+Shift+3 - click and make a ScreenDump
Quality will be - size of the screen and 72dpi
• So set screen in Max Size e.g. 1440x900 or more
• BUT as DVD is interlaced SD-Video - no setting will be any better than this
And that will be the best You can do - still POOR - but usually better than Nothing !
NTSC (29.97fps) 520 lines - about 640x480 pixels (square) 720x480 rectangular (narrow) pixels
PAL (25 fps) 625 lines - about 768x576 pixels (square) 720x576 rectangular (narrow) pixels
And if You creaded Your movie in iMovie'08 to 11 - only half of the line resolution is left - So I guess that
320 x 480 or
384 x 576
Will be the best possible resulting photos.
Yours Bengt W
Maybe you are looking for
-
How can I load my data faster? Is there a SQL solution instead of PL/SQL?
11.2.0.2 Solaris 10 sparc I need to backfill invoices from a customer. The raw data has 3.1 million records. I have used pl/sql to load these invoices into our system (dev), however, our issue is the amount of time it's taking to run the load - effec
-
How to I get my apps off iphone/ipad and into itunes without syncing?
I had my computer crash and recently restored it. I transferred my music back in via a hard drive and now that I am about to resync my phone, I either have to erase the phone with what is in iTunes, or erase what is in itunes with the phone. I have d
-
Old deleted items appearing again in trash
Hello, I have been reviewing my trash of late and I have noticed that items that I have previously deleted and subsequently emptied from the Trasn Car and re-appearing. Yesterday my trash was empty and today there are items appearing as having been d
-
I need help with SQL Server 2012
Hi Everyone, I am using the query pane to create a database with the data file and log file but keep getting this error message. I will be glad if someone can help. You can see below the syntax: Msg 5123, Level 16, State 1, Line 1 CREATE FILE enco
-
Hi All, I am using Oracle SQL Developer Data modeler tool. Find it a very good tool for database designing and its free. Here I can connect to Oracle database and get complete ER diagram, but I didn't see any place through which I can Reverse Enginee