Structure of DSMCC data carousel with modules repeated
Dear all,
Suppose that we have a dsmcc data carousel as following:
DSI -> DII_1, �, DII_n
DII_1 -> MOD_1, MOD_2, MOD_3, MOD_4, MOD_5
Suppose, its flow structure as following:
| DSI | DII_1 | MOD_1 | MOD_2 | MOD_3 | MOD_4 | MOD_5 | � |
Now, if I want the MOD_2 repeated 3 times:
+Does the structure of data carousel has to change? If yes, how the structure will be changed?
+Or it is simply that the MOD_2 will be inserted more into flow such as:
| DSI | DII_1 | MOD_1 | MOD_2 | MOD_3 | MOD_4 | MOD_2 | MOD_5 | MOD_2 |� |
Thank you in advance
Tien
Thank you very much Steve,
I have one more question please.
Suppose I have a file system encoded in the OC look like as following:
<Dir1>
<Dir2>
file_1.png
file_2.png
�
file_n.
Suppose the file_1.png is encoded in MOD_2, <DIR2> is encoded in MOD_3 and <DIR_1> is encoded in MOD_4.
Then when the file_1.png is required by application:
+ Is just only one MOD_2 needed to download ? or are all of three modules MOD_2, MOD_3, and MOD_4 needed to download?
+ or what will be happened?
Thanks,
Tien
Similar Messages
-
I can not count the data from the module. Can prompt as it to make. It is desirable with examples (data read-out from the module and data transmission between channels. It is in advance grateful.
Hello. Most of the engineers in developer exchange are more familiar
with NI products. Contacting ICS for technical support is a better
course of action. -
Generic Data Source with Function Module data mismatch in BI
Hi All,
I'm using Generic Data Source with Function Module, When I execute the Function Module (Which I have Created), I'm getting 16000 records and when run extractor(in RSA3) im getting different no.of records(infact they are more no.).
when I run the InfoPackage in BI im Getting more no. of records than what i got executing the function module..
and single record is divided into 2 records in BI side(not all the records), how can it be possible???
is there anything Im missing to explain you my issue???
if understood please help me out.
Thanks n Regards,
ravi.the datasource frame work starts the function module several times.
1. the initialization
2. the serval times, until you "raise no_more_data".
check you coding: have you refreshed necessary internal tables.
Sven -
Generic Data Source with Function Module data mismatch
Hi All,
I'm using Generic Data Source with Function Module, When I execute the Function Module (Which I have Created), I'm getting 16000 records and when run extractor(in RSA3) im getting different no.of records(infact they are more no.).
when I run the InfoPackage in BI im Getting more no. of records than what i got executing the function module..
and single record is divided into 2 records in BI side(not all the records), how can it be possible???
is there anything Im missing to explain you my issue???
if understood please help me out.
Thanks n Regards,
ravi.HI rkiranbi,
1. FIrst you excute function module according to your paramers, you will get some records. then goto tcode RSA3 --> excute
Provide your Data source name and under setting we have options like Data records/calls, Display extractor calls and selections --> fields .
in that options you have to increase the values. and then you have to pass paramers in RSA3 according to your function module
selections in SE37. Now you will get equal values in both functin module selection and RSA3 Selection. if it fail means you need to
check coding logic in function module.
2. if your are getting wrong values in BI System then check with
1. compare with PSA data and data target data (here you need to check with characterstic as well as keyfigures)
if you find any mistake you need change the coding in function module according to client requirement.
2. compare data with RSA3 and bi report data or data target data.
check it properly above steps, you will get solution.
thanks and regards,
malli -
New Data Connection with incoming XSLT. Should DataView show the structure?
When I Create New Data Connection with an XML file and an incoming XSLT transformation, the Data View doesn't show the resulting structure..just the original XML file structure. This makes it hard to bind xml elements in the transformation to a PDF form. It the XSLT only applied at "runtime"? If so, how to map elements? Thanks.
I would suggest to create a receive data connection(secondary) to get data from your checklist
Use this data connection to connect to your checklist and get all the fields that are required.
Create a button in your form and add rules to assign and submit data to the list, after user clicks the button
Add a rule to set values to source list with fields from Receive Data connection
Submit the data to the list
Close the form
Hope this helps!
MCITP: SharePoint 2010 Administrator
MCTS - MOSS 2007 Configuring, .NET 2.0
| SharePoint Architect | Evangelist |
http://www.sharepointdeveloper.in/
http://ramakrishnaraja.blogspot.com/
Yes! This is fantastic, I'll try this. Quick question, would it be possible to send the data to a different list rather than the source?
My reasoning is this: The secondary data connection list is intended to be sort of a blank slate, where the actual project requirements are listed and can be modified or edited as needed. I'd like to keep that as the constant starting point.
So could I possibly have the form submit the actual data to a separate list to maintain that? -
I moved LR5 catalog (Irdata & Ircat) to a new hard drive and photos. Lost all meta data - How do I move meta data along with catalog?
The meta data for each image is missing.
I have over 2,000 images. I don't want to go back through each image and add meta data.
Is there some way to move everything?No, do not re-import your images. I assume you can see the thumbnails in the library module, just cannot access the full images, right? If this is the case there should be an exclamation mark in the top right corner of every one of your pictures and you only have to tell LR where the images are now.
Click the exclamation mark of one of the images and a dialog window should pop-up, telling you that LR cannot find the file, but with an option to locate it. Press "Locate" and navigate to the folder on your new HD where the file is. If in the new external HD you kept the same folder structure that you had on the internal disk, LR will be able to find all your images and re-link them to the database without further intervention. -
Data insert through module pool programming
hi
I want to insert the data into the data base through module pool programming.I am taking the fields from different tables, I need sample code ,please help meHi Dhanunjay,
REPORT zpe_str_le .
TABLES : zpe_str , zprd_mis1 , mseg , t001l.
*DATA : STR TYPE C VALUE '50'.
data : text(100) VALUE 'DELETED STORAGE LOCATION NO '.
SELECTION-SCREEN : BEGIN OF SCREEN 123 AS WINDOW TITLE TEXT-005.
SELECT-OPTIONS : S_ZSLOC FOR ZPE_STR-ZSLOC,
S_ZMACD FOR ZPE_STR-ZMACD,
S_ZPGRP FOR ZPE_STR-ZPGRP.
SELECTION-SCREEN : END OF SCREEN 123.
DATA : flag(1) TYPE c,
flag1 TYPE c ,
flag3 TYPE c VALUE '1'.
DATA : etab LIKE t001l OCCURS 0 WITH HEADER LINE.
SELECT * FROM T001L INTO TABLE ETAB.
DATA : ihead LIKE thead.
DATA : prevtab LIKE tline OCCURS 0 WITH HEADER LINE.
data : Jtab like TLINE occurs 0 with header line.
DATA : jtab LIKE tline OCCURS 0 WITH HEADER LINE.
DATA : itab LIKE zprd_mis1 OCCURS 0 WITH HEADER LINE.
*SELECT * FROM zprd_mis1 INTO TABLE itab.
DATA : BEGIN OF itab_sloc OCCURS 0,
werks LIKE t001l-werks,
lgort LIKE t001l-lgort,
lgobe LIKE t001l-lgobe,
END OF itab_sloc.
*FLAG = 0.
CALL SCREEN 100.
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'RET'.
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 100.
*PERFORM PREVIEW.
LOOP AT prevtab.
WRITE : / prevtab.
ENDLOOP.
LOOP AT JTAB[] INTO ZPRD_MIS1.
WRITE : Jtab-TDFORMAT.
WRITE : Jtab-TDLINE .
*********ZPRD_MIS1-MANDT = Jtab-TDLINE .
*********ZPRD_MIS1-SLOC = Jtab-TDLINE .
*********ZPRD_MIS1-MCODE = Jtab-TDLINE .
*********ZPRD_MIS1-GCODE = Jtab-TDLINE .
*********ZPRD_MIS1-DESCR = Jtab-TDLINE .
*********INSERT ZPRD_MIS1.
ENDLOOP.
WRITE : JTAB-ZSLOC.
*********CALL TRANSACTION 'SO10'.
SET CURSOR 2 2.
WHEN 'DET'.
SELECT * FROM ZPRD_MIS1 INTO CORRESPONDING FIELDS OF TABLE ITAB.
CALL SCREEN 123 STARTING AT 10 5.
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
SKIP 2 .
WRITE :/1(8) 'STR.LOC' ,10(15) 'MRP. CTLR',27(10) 'P.GRP' ,39(40) 'DESCRIPTION OF PRODUCT'.
SELECT SLOC MCODE GCODE DESCR FROM zprd_mis1 INTO ZPRD_MIS1 WHERE SLOC IN S_ZSLOC AND
MCODE IN S_ZMACD AND
GCODE IN S_ZPGRP.
WRITE :/1(8) zprd_mis1-SLOC ,10(15) zprd_mis1-MCODE ,27(10) zprd_mis1-GCODE ,39(40) zprd_mis1-DESCR .
ENDSELECT.
WHEN 'CLEAR'.
flag = 4.
IF zpe_str-zsloc NE ' '.
CLEAR zpe_str.
ELSE.
MESSAGE 'ALREADY CLEARED' TYPE 'S'.
ENDIF.
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN 'SAVE'.
IF zpe_str-zdesc NE ' '.
IF zpe_str-zsloc NE ' '.
LOOP AT itab.
READ TABLE itab WITH KEY sloc = zpe_str-zsloc .
IF sy-subrc = 0 AND flag = 5.
zprd_mis1-mandt = sy-mandt.
zprd_mis1-sloc = zpe_str-zsloc .
zprd_mis1-mcode = zpe_str-zmacd .
zprd_mis1-gcode = zpe_str-zpgrp.
zprd_mis1-descr = zpe_str-zdesc .
MODIFY zprd_mis1.
flag1 = 7.
MESSAGE 'STORAGE LOCATION MODIFIED' TYPE 'S'.
EXIT.
ELSE.
zprd_mis1-mandt = sy-mandt.
zprd_mis1-sloc = zpe_str-zsloc .
zprd_mis1-mcode = zpe_str-zmacd .
zprd_mis1-gcode = zpe_str-zpgrp.
zprd_mis1-descr = zpe_str-zdesc .
INSERT zprd_mis1.
APPEND itab.
flag = 5.
flag1 = 7.
MESSAGE 'STORAGE LOCATION CREATED' TYPE 'S'.
*MESSAGE 'DATA ALREADY SAVED' TYPE 'S'.
EXIT.
*ENDIF.
ENDIF.
ENDLOOP.
ELSE.
flag = 3.
MESSAGE 'PLEASE ENTER THE STORAGE LOCATION' TYPE 'S'.
ENDIF.
ELSE.
LOOP AT itab.
READ TABLE itab WITH KEY sloc = zpe_str-zsloc .
IF sy-subrc = 0.
MESSAGE 'ALREADY SAVED' TYPE 'S'.
ELSE.
MESSAGE 'ENTRIES FOR OTHER FIELDS REQUIRED' TYPE 'S'.
ENDIF.
ENDLOOP.
ENDIF.
WHEN 'CHECK'.
SELECT * FROM zprd_mis1 INTO TABLE itab.
IF zpe_str-zsloc NE ' '.
LOOP AT itab.
READ TABLE itab WITH KEY sloc = zpe_str-zsloc .
IF sy-subrc = 0.
zpe_str-zmandt = itab-mandt.
zpe_str-zsloc = itab-sloc.
zpe_str-zmacd = itab-mcode.
zpe_str-zpgrp = itab-gcode.
zpe_str-zdesc = itab-descr.
flag = 7.
flag1 = 7.
ELSE.
MESSAGE 'NO SUCH STORAGE LOCATION AVAILABLE' TYPE 'S'.
EXIT.
ENDIF.
ENDLOOP.
ELSE.
flag = 3.
MESSAGE 'PLEASE ENTER THE STORAGE LOCATION' TYPE 'S'.
EXIT.
ENDIF.
WHEN 'DELETE'.
IF zpe_str-zsloc EQ ' '.
flag = 3.
MESSAGE 'NOSUCH LOCATION AVAILABLE' TYPE 'S'.
ELSE.
READ TABLE itab WITH KEY sloc = zpe_str-zsloc .
IF sy-subrc = 0.
zpe_str-zmandt = itab-mandt.
zpe_str-zsloc = itab-sloc.
zpe_str-zmacd = itab-mcode.
zpe_str-zpgrp = itab-gcode.
zpe_str-zdesc = itab-descr.
IF zpe_str-zsloc NE ' '.
CALL FUNCTION 'G_CHECK_PASSWORD'
EXPORTING
password = 'PLANT1'
EXCEPTIONS
not_authorized = 1
canceled = 2
OTHERS = 3.
IF sy-subrc = 0.
PERFORM PREVIEW.
DELETE FROM zprd_mis1 WHERE SLOC = zpe_str-zSLOC.
UPDATE zprd_mis1.
APPEND itab.
MESSAGE 'STORAGE LOCATION DELETED' TYPE 'S'.
ELSEIF SY-SUBRC = 2.
MESSAGE 'OPRATION CANCELLED' TYPE 'E'.
ELSEIF SY-SUBRC = 3.
MESSAGE 'UNAUTHORIZED' TYPE 'E'.
ENDIF.
ELSE.
MESSAGE 'STORAGE LOCATION CONTAINS NO DATA' TYPE 'S'.
ENDIF.
ELSE.
MESSAGE 'STORAGE LOCATION CONTAINS NO DATA' TYPE 'S'.
ENDIF.
ENDIF.
WHEN 'CREATE'.
FLAG3 = 12.
IF zpe_str-zsloc EQ ' '.
MESSAGE 'ENTER THE STORAGE LOCATION' TYPE 'S'.
EXIT.
ELSE.
LOOP AT etab.
READ TABLE etab WITH KEY lgort = zpe_str-zsloc .
IF sy-subrc = 0.
read table itab with key sloc = zpe_str-zsloc .
if sy-subrc = 0.
zpe_str-zmandt = itab-mandt.
zpe_str-zsloc = itab-sloc.
zpe_str-zmacd = itab-mcode.
zpe_str-zpgrp = itab-gcode.
zpe_str-zdesc = itab-descr.
flag = 7.
flag1 = 7.
clear flag .
clear flag1.
message 'storage location alredy exist' type 'S'.
ELSE.
FLAG = 2.
MESSAGE 'STORAGE LOCATION ENTIRES DOESNOT EXIST' TYPE 'S'.
ENDIF.
else.
message 'no such storage location exist' type 'S'.
endif.
endloop.
FLAG = 2.
exit.
endif.
WHEN 'CHANGE'.
SELECT * FROM zprd_mis1 INTO TABLE itab.
IF zpe_str-zsloc NE ' '.
LOOP AT itab.
READ TABLE itab WITH KEY sloc = zpe_str-zsloc .
IF sy-subrc = 0.
flag = 5.
flag1 = 6.
zpe_str-zmandt = itab-mandt.
zpe_str-zsloc = itab-sloc.
zpe_str-zmacd = itab-mcode.
zpe_str-zpgrp = itab-gcode.
zpe_str-zdesc = itab-descr.
ELSE.
MESSAGE 'NO STORAGE LOCATION AVAILABLE' TYPE 'S'.
ENDIF.
ENDLOOP.
ELSE.
flag = 3.
MESSAGE 'PLEASE ENTER THE STORAGE LOCATION' TYPE 'S'.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module STATUS_0100 OUTPUT
text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'AAA'.
SET TITLEBAR 'aaa'.
IF flag3 = '1'.
CALL FUNCTION 'G_CHECK_PASSWORD'
EXPORTING
password = 'PLANT1'
EXCEPTIONS
not_authorized = 1
canceled = 2
OTHERS = 3.
IF sy-subrc 0.
MESSAGE 'un authorized' TYPE 'S'(001).
LEAVE TO SCREEN 0.
ELSEIF SY-SUBRC = 2.
MESSAGE ' OPERATION CANCELLED' TYPE 'S'(001).
LEAVE TO SCREEN 0.
ELSEIF SY-SUBRC = 3.
LEAVE TO SCREEN 0.
MESSAGE 'RESTRICTED' TYPE 'S'(001).
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR flag3.
ENDIF.
SELECT * FROM zprd_mis1 INTO TABLE itab.
LOOP AT SCREEN.
IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
IF flag = 5 AND flag1 EQ 6.
LOOP AT SCREEN.
IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'CHECK'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
EXIT.
ENDIF.
IF flag = 2.
LOOP AT SCREEN.
IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'CHECK'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
EXIT.
ENDIF.
IF flag3 = 12.
LOOP AT SCREEN.
IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
screen-input = 1.
MODIFY SCREEN.
ENDIF.
IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'RET' OR screen-name = 'CHECK'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
EXIT.
CLEAR FLAG3.
ENDIF.
IF flag = 4.
IF screen-name CP 'ZPE_*'.
screen-input = 1.
ENDIF.
ENDIF.
IF flag1 = 7 AND flag = 5.
LOOP AT SCREEN.
IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZSLOC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHECK' OR screen-name = 'SAVE'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF flag1 = 7 AND flag = 7.
LOOP AT SCREEN.
IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZSLOC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
IF screen-name = 'CREATE' OR screen-name = 'CHECK' OR screen-name = 'SAVE'." OR screen-name = 'DELETE'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF flag1 = 4 AND flag = 3.
LOOP AT SCREEN.
IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZSLOC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
IF screen-name = 'CREATE' OR screen-name = 'SAVE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'CHECK'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
DATA: BEGIN OF r1 OCCURS 1.
INCLUDE STRUCTURE ddshretval.
DATA: END OF r1.
*& Module VALUE_SLOC INPUT
text
MODULE value_sloc INPUT.
SELECT lgort werks lgobe FROM t001l INTO CORRESPONDING FIELDS OF TABLE itab_sloc.
DELETE ADJACENT DUPLICATES FROM itab_sloc COMPARING lgort.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'LGORT'
value_org = 'S'
TABLES
value_tab = itab_sloc
return_tab = r1
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc EQ 0.
IF r1-fieldval IS NOT INITIAL.
zpe_str-zsloc = r1-fieldval.
ENDIF.
ENDIF.
EXIT.
*ENDSELECT.
ENDMODULE. " VALUE_SLOC INPUT
FORM PREVIEW.
*TABLES : ZPE_STR , ZPRD_MIS1 , MSEG.
data : ihead like thead.
DATA : prevtab like TLINE occurs 0 with header line.
data : Jtab like TLINE occurs 0 with header line.
*data : Jtab like thead occurs 0 with header line.
*data : text(100).
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = 'ST'
LANGUAGE = sy-langu
NAME = 'ZSLDEL'
OBJECT = 'TEXT'
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER =
TABLES
LINES = prevtab[]
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
if not prevtab[] is initial.
append lines of prevtab to jtab.
endif.
*IHEAD-TDFDATE = SY-DATUM.
*IHEAD-TDFTIME = SY-UZEIT.
ihead-TDOBJECT = 'TEXT'.
ihead-TDNAME = 'ZSLDEL'.
ihead-TDID = 'ST'.
ihead-TDSPRAS = sy-langu.
type-pools : slis.
Jtab-TDFORMAT = ''.
*Jtab-TDLINE = 'SLOCATION'.
*append Jtab.
*Jtab-TDFORMAT = ''.
Jtab-TDFORMAT = '*'.
Jtab-TDLINE = ZPE_STR-ZSLOC.
append Jtab.
Jtab-TDFORMAT = ''.
*Jtab-TDLINE = 'DATE'.
*append Jtab.
Jtab-TDFORMAT = ''.
*Jtab-TDLINE = SY-DATUM.
*append Jtab.
Jtab-TDFORMAT = ''.
*Jtab-TDLINE = 'TIME'.
*append Jtab.
Jtab-TDFORMAT = ''.
*Jtab-TDLINE = SY-UZEIT.
*Jtab-TDFORMAT = ''.
*append Jtab.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
CLIENT = SY-MANDT
HEADER = ihead
INSERT = 'X'
SAVEMODE_DIRECT = ' '
OWNER_SPECIFIED = ' '
LOCAL_CAT = ' '
IMPORTING
FUNCTION =
NEWHEADER =
TABLES
LINES = Jtab
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 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.
CALL FUNCTION 'COMMIT_TEXT'
EXPORTING
OBJECT = '*'
NAME = '*'
ID = '*'
LANGUAGE = '*'
SAVEMODE_DIRECT = ' '
KEEP = ' '
LOCAL_CAT = ' '
IMPORTING
COMMIT_COUNT =
TABLES
T_OBJECT =
T_NAME =
T_ID =
T_LANGUAGE =
ENDFORM.
*&spwizard: declaration of tablecontrol 'TBLECTL' itself
controls: TBLECTL type tableview using screen 0100.
*&spwizard: lines of tablecontrol 'TBLECTL'
data: g_TBLECTL_lines like sy-loopc.
data: OK_CODE like sy-ucomm.
*&spwizard: output module for tc 'TBLECTL'. do not change this line!
*&spwizard: update lines for equivalent scrollbar
module TBLECTL_change_tc_attr output.
describe table ITAB lines TBLECTL-lines.
endmodule.
*&spwizard: output module for tc 'TBLECTL'. do not change this line!
*&spwizard: get lines of tablecontrol
module TBLECTL_get_lines output.
g_TBLECTL_lines = sy-loopc.
endmodule.
*&spwizard: input module for tc 'TBLECTL'. do not change this line!
*&spwizard: process user command
module TBLECTL_user_command input.
OK_CODE = sy-ucomm.
perform user_ok_tc using 'TBLECTL'
'ITAB'
changing OK_CODE.
sy-ucomm = OK_CODE.
endmodule.
INCLUDE TABLECONTROL_FORMS *
*& Form USER_OK_TC *
FORM USER_OK_TC USING P_TC_NAME TYPE DYNFNAM
P_TABLE_NAME
P_MARK_NAME
CHANGING P_OK LIKE SY-UCOMM.
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA: L_OK TYPE SY-UCOMM,
L_OFFSET TYPE I.
&SPWIZARD: END OF LOCAL DATA----
*&SPWIZARD: Table control specific operations *
*&SPWIZARD: evaluate TC name and operations *
SEARCH P_OK FOR P_TC_NAME.
IF SY-SUBRC 0.
EXIT.
ENDIF.
L_OFFSET = STRLEN( P_TC_NAME ) + 1.
L_OK = P_OK+L_OFFSET.
*&SPWIZARD: execute general and TC specific operations *
CASE L_OK.
WHEN 'INSR'. "insert row
PERFORM FCODE_INSERT_ROW USING P_TC_NAME
P_TABLE_NAME.
CLEAR P_OK.
WHEN 'DELE'. "delete row
PERFORM FCODE_DELETE_ROW USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME.
CLEAR P_OK.
WHEN 'P--' OR "top of list
'P-' OR "previous page
'P+' OR "next page
'P++'. "bottom of list
PERFORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
L_OK.
CLEAR P_OK.
WHEN 'L--'. "total left
PERFORM FCODE_TOTAL_LEFT USING P_TC_NAME.
WHEN 'L-'. "column left
PERFORM FCODE_COLUMN_LEFT USING P_TC_NAME.
WHEN 'R+'. "column right
PERFORM FCODE_COLUMN_RIGHT USING P_TC_NAME.
WHEN 'R++'. "total right
PERFORM FCODE_TOTAL_RIGHT USING P_TC_NAME.
WHEN 'MARK'. "mark all filled lines
PERFORM FCODE_TC_MARK_LINES USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME .
CLEAR P_OK.
WHEN 'DMRK'. "demark all filled lines
PERFORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME .
CLEAR P_OK.
WHEN 'SASCEND' OR
'SDESCEND'. "sort column
PERFORM FCODE_SORT_TC USING P_TC_NAME
l_ok.
ENDCASE.
ENDFORM. " USER_OK_TC
*& Form FCODE_INSERT_ROW *
FORM fcode_insert_row
USING P_TC_NAME TYPE DYNFNAM
P_TABLE_NAME .
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA L_LINES_NAME LIKE FELD-NAME.
DATA L_SELLINE LIKE SY-STEPL.
DATA L_LASTLINE TYPE I.
DATA L_LINE TYPE I.
DATA L_TABLE_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE CXTAB_CONTROL.
FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
FIELD-SYMBOLS <LINES> TYPE I.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get the table, which belongs to the tc *
CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
*&SPWIZARD: get looplines of TableControl *
CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_LINES_NAME.
ASSIGN (L_LINES_NAME) TO <LINES>.
*&SPWIZARD: get current line *
GET CURSOR LINE L_SELLINE.
if sy-subrc 0. " append line to table
l_selline = <tc>-lines + 1.
*&SPWIZARD: set top line *
if l_selline > <lines>.
<tc>-top_line = l_selline - <lines> + 1 .
else.
<tc>-top_line = 1.
endif.
else. " insert line into table
l_selline = <tc>-top_line + l_selline - 1.
l_lastline = <tc>-top_line + <lines> - 1.
endif.
*&SPWIZARD: set new cursor line *
l_line = l_selline - <tc>-top_line + 1.
*&SPWIZARD: insert initial line *
INSERT INITIAL LINE INTO <TABLE> INDEX L_SELLINE.
<TC>-LINES = <TC>-LINES + 1.
*&SPWIZARD: set cursor *
SET CURSOR LINE L_LINE.
ENDFORM. " FCODE_INSERT_ROW
*& Form FCODE_DELETE_ROW *
FORM fcode_delete_row
USING P_TC_NAME TYPE DYNFNAM
P_TABLE_NAME
P_MARK_NAME .
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA L_TABLE_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE cxtab_control.
FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
FIELD-SYMBOLS <WA>.
FIELD-SYMBOLS <MARK_FIELD>.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get the table, which belongs to the tc *
CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
*&SPWIZARD: delete marked lines *
DESCRIBE TABLE <TABLE> LINES <TC>-LINES.
LOOP AT <TABLE> ASSIGNING <WA>.
*&SPWIZARD: access to the component 'FLAG' of the table header *
ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
IF <MARK_FIELD> = 'X'.
DELETE <TABLE> INDEX SYST-TABIX.
IF SY-SUBRC = 0.
<TC>-LINES = <TC>-LINES - 1.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " FCODE_DELETE_ROW
*& Form COMPUTE_SCROLLING_IN_TC
text
-->P_TC_NAME name of tablecontrol
-->P_OK ok code
FORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME
P_OK.
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA L_TC_NEW_TOP_LINE TYPE I.
DATA L_TC_NAME LIKE FELD-NAME.
DATA L_TC_LINES_NAME LIKE FELD-NAME.
DATA L_TC_FIELD_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE cxtab_control.
FIELD-SYMBOLS <LINES> TYPE I.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get looplines of TableControl *
CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.
ASSIGN (L_TC_LINES_NAME) TO <LINES>.
*&SPWIZARD: is no line filled? *
IF <TC>-LINES = 0.
*&SPWIZARD: yes, ... *
L_TC_NEW_TOP_LINE = 1.
ELSE.
*&SPWIZARD: no, ... *
CALL FUNCTION 'SCROLLING_IN_TABLE'
EXPORTING
ENTRY_ACT = <TC>-TOP_LINE
ENTRY_FROM = 1
ENTRY_TO = <TC>-LINES
LAST_PAGE_FULL = 'X'
LOOPS = <LINES>
OK_CODE = P_OK
OVERLAPPING = 'X'
IMPORTING
ENTRY_NEW = L_TC_NEW_TOP_LINE
EXCEPTIONS
NO_ENTRY_OR_PAGE_ACT = 01
NO_ENTRY_TO = 02
NO_OK_CODE_OR_PAGE_GO = 03
OTHERS = 0.
ENDIF.
*&SPWIZARD: get actual tc and column *
GET CURSOR FIELD L_TC_FIELD_NAME
AREA L_TC_NAME.
IF SYST-SUBRC = 0.
IF L_TC_NAME = P_TC_NAME.
*&SPWIZARD: et actual column *
SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.
ENDIF.
ENDIF.
*&SPWIZARD: set the new top line *
<TC>-TOP_LINE = L_TC_NEW_TOP_LINE.
ENDFORM. " COMPUTE_SCROLLING_IN_TC
*& Form FCODE_TC_MARK_LINES
marks all TableControl lines
-->P_TC_NAME name of tablecontrol
FORM FCODE_TC_MARK_LINES USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME.
&SPWIZARD: EGIN OF LOCAL DATA----
DATA L_TABLE_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE cxtab_control.
FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
FIELD-SYMBOLS <WA>.
FIELD-SYMBOLS <MARK_FIELD>.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get the table, which belongs to the tc *
CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
*&SPWIZARD: mark all filled lines *
LOOP AT <TABLE> ASSIGNING <WA>.
*&SPWIZARD: access to the component 'FLAG' of the table header *
ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
<MARK_FIELD> = 'X'.
ENDLOOP.
ENDFORM. "fcode_tc_mark_lines
*& Form FCODE_TC_DEMARK_LINES
demarks all TableControl lines
-->P_TC_NAME name of tablecontrol
FORM FCODE_TC_DEMARK_LINES USING P_TC_NAME
P_TABLE_NAME
P_MARK_NAME .
&SPWIZARD: BEGIN OF LOCAL DATA----
DATA L_TABLE_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE cxtab_control.
FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
FIELD-SYMBOLS <WA>.
FIELD-SYMBOLS <MARK_FIELD>.
&SPWIZARD: END OF LOCAL DATA----
ASSIGN (P_TC_NAME) TO <TC>.
*&SPWIZARD: get the table, which belongs to the tc *
CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body
ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline
*&SPWIZARD: demark all filled lines *
LOOP AT <TABLE> ASSIGNING <WA>.
*&SPWIZARD: access to the component 'FLAG' of the table header *
ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE <WA> TO <MARK_FIELD>.
<MARK_FIELD> = SPACE.
ENDLOOP.
ENDFORM. "fcode_tc_mark_lines
Source : https://forums.sdn.sap.com/click.jspa?searchID=15092700&messageID=5654151
Have A Good Day
Chaitanya. -
Structural profile for HR conflicts with MRS
Hi,
We have ECC 6.0 and implemented mini-HR for mainly CATS use and to create the organisation for MRS (multi-resource scheduling). Now we are facing problems with managers who need to have a structural profiles to limit their access to HR information.
A manager cannot execute transaction /MRSS/PLBOORGM - Planning Board for RP Node
The other problem is that structural profiles (evaluation path O-S-P) seem to be interfaring with IW32 when user tries to change technical person (i.e. a partner) or sales order.
CATS is classic, not CATS for Srvice providers which also brings problems with those users who have to accept hours or enter hours (CAT2) for other than their own subordinates; i.e. they are project managers.
Any suggestion for structural profile corrections, evaluation path that should be used in addition to the "normal" O-S-P for the manager role?
Help is highly appreciated.
BR,
PiaHi,
Firstly P_ORGINCON is used for context solutions where you want users to access specific infotypes for selected Objects in the Org structure and simultaneously perform other activities for some seperate set of Objects.
P_ORGINCON won't understand the concept of exclusion.
3) we assign to the manager a second structural profile in exclusion mode and a role with with a P_ORGINCON in order to exclude some infotypes.
Why do you want to design such approach?
Please remember when you assign PD profile to a position and check the exclusion Box, it means what all objects returned by that structural profile should be excluded from entering into T77UU and INDX table, when you run RHBAUS* programs.
After reading through your Business requirement, I would only suggest you to drive this design through Function Modules and included those FMs in your structural.
If required create multiple structural add them in separate nodes in P_ORGINCON in combination of Infotypes.
In othe words, it is possibile to assign a structural profile to a user in exclusion mode and use this structural profile with a P_ORGINCON in order to exclude some inforypes ? -
NO, assigning structural in exclusion mode will only exclude objects which are being pulled up by that structural and using the same with P_ORGINCON means, user will be able access set of Infotypes for all Objects in the Org Structure apart from the ones excluded because the structural assigned in exclusion mode.
Hope this answers your question.
Thanks,
Deb -
"Source not found" Error creating URL Data control with query parameters
Hi,
I have a restful service for which i want to create a URL data control. I am able to create the URL data control successfully when i am not passing any parameters in the Source field. But if i am specifying the parameters in the source field like this Department=##ParamName##, something weird is happening. After giving the param string in the Source field, it asks for default param value to test the url. It tests the url successfully. After that i select XML as the data format in which i am mentioning the xsd like this . "file:///C:/..../something.xsd" . And this is when i am getting the error. "Invalid Connection. The source is not found". I am giving exactly same path for xsd which i gave while creating URL data control without query parameters. Infact i was able to create the URL data control with query parameters successfully till afternoon. after that it started giving me this error all of a sudden. Infact as soon as i was able to create a URL data contol with query parameter successfully, i took a backup of the application before moving further. But even that backup is not working now.
As far as i understand, i dont think there will be any change in xsd if query params are passed to a web service. Please correct me if i am wrong.
Just dont know what could be the issue. Please help
ThanksHi,
xsd is used for the URL service to know what the returned data structure is so it can create the ADF DC metadata
Frank -
Error message @ Win 7 Pro start up "There was a problem starting C:\programdata\ofpviaowu.dat - The specified module could not be found."
This error message appears every time I start (boot) my computer and windows starts (Firefox is not running at start up). Firefox 15.01 functions properly otherwise.
This started after I installed the 15.0.1 patch.
I uninstalled and reinstalled Firefox but the problem remains. Google search for "ofpviaowu.dat" came up with "2012-08-29 Firefox Release 15 Startup Crash Report" as the only listing.
Is this a Firefox issue?hello QAMgr, i'm not aware of this file being a part of firefox & also find it slightly suspicious that there are no more google search hits. maybe this is malware related... could you do a full scan of your system with the security software already in place and/or a different tool like the [http://www.malwarebytes.org/products/malwarebytes_free free version of malwarebytes]?
[[Troubleshoot Firefox issues caused by malware]] -
XML Data Set with Spry Slides - Please Help
Hi, I'm trying to combine XML Data Set with sliding tabs.
I've created two keys responsible for sliding the tabs:
<a id="previous" href="#"
onclick="sp1.showPreviousPanel();">Previous</a>
<a id="next" href="#"
onclick="sp1.showNextPanel();">Next</a>
Then XML Data Set is used to populate the tabs, but only a
single tab remains visible, and a "Next/Previous" buttons are used
to move to the next tab. And this is where the problem arises.
The problem is that, every time I refreash the gallery or
load it for the first time, I have to press TWICE the "Next" button
to move to the next image. After that, its all fine, and slides
well. It's only the FIRST time when loaded.
Please help.
Here's the full code:
<div id="images_gal" >
///////////////////////////////////////// The menu - the
culprit///////////////////////////////////////////
<div id="menu_next">
<a id="previous" href="#"
onclick="sp1.showPreviousPanel();">Previous</a>
<a id="next" href="#"
onclick="sp1.showNextPanel();">Next</a>
</div>
//////////////////////////////////////// The Sliding Panels
Gallery ////////////////////////////////////////////////////
<div id="example2" class="SlidingPanels" tabindex="0" >
<div class="SlidingPanelsContentGroup"
spry:region="dsSpecials">
<div spry:repeat="dsSpecials" id="{first}"
class="SlidingPanelsContent{second}"><div class="top_gal"
></div><div class="main_gal"><img
src="images/Galery/{third}" alt="Digital_Signage" width="600"
height="304" />
<p class="screen_gal"><a href="#"
onclick="MM_openBrWindow('film1.html','Coloris','width=340,height=260,
top=250, left=250')">CLICK TO VIEW</a></p>
</div><div
class="bottom_gal"></div></div>
</div>
</div>Anyone has any idea why I need a DOUBLE Click to start moving
the sliding panels?
I've just completed two tutorials by Don Booth.
1/Building a Spry Sliding Panels widget
2/Building a photo album with the Spry framework
But what I try to COMBINE them - display the photos in
sliding panels, I also need to DOUBLE click the "next" buton before
it starts scrolling.
Why is that Double Click needed? Help Please.
Here's my code for the combined version:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
a {
position:relative;
left:23px;
top:127px;
z-index:10000;
color: #FF0000;
</style>
<script type="text/javascript"
src="photo_album_samples/includes/xpath.js"></script>
<script type="text/javascript"
src="photo_album_samples/includes/sprydata.js"></script>
<script type="text/javascript"
src="Spry/SprySlidingPanels.js"></script>
<link type="text/css" rel="stylesheet"
href="Spry/SprySlidingPanels.css">
</head>
<body>
<div >
<a href="#" onclick="sp1.showPreviousPanel();">Previous
Panel</a>
<a href="#" onclick="sp1.showNextPanel();" >Next
Panel</a>
</div>
<div id="panelwidget" class="SlidingPanels" >
<div class="SlidingPanelsContentGroup"
spry:region="dsGallery" >
<div spry:repeat="dsGallery" class="SlidingPanelsContent"
id="p1"><img
src="photo_album_samples/thumbnails/{@thumbpath}"/></div>
</div>
</div>
<script type="text/javascript">
var dsGallery = new
Spry.Data.XMLDataSet("photo_album_samples/photos.xml",
"gallery/photos/photo");
</script>
<script type="text/javascript">
var sp1 = new Spry.Widget.SlidingPanels("panelwidget");
</script>
</body>
</html> -
Debugging JMS adapter with Module Configuration
Hi.
I have a problem debugging my JMS adapter with module configuration.
All I get from the Message Monitor is a status "System Error", and no error category or error message.
I know there's an error in my Module configuration design, since it works fine without.
My configuration looks like this:
PROCESSING SEQUENCE:
1 localejbs/AF_Modules/MessageTransformBean Local Enterprise Bean XML2Plain
2 localejbs/SAP XI JMS Adapter/ConvertMessageToBinary Local Enterprise Bean convert_XI2Bin
3 localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService Local Enterprise Bean exit
MODULE CONFIGURATION:
XML2Plain Transform.Class com.sap.aii.messaging.adapter.Conversion
XML2Plain Transform.ContentType text/plain;charset=utf-8
XML2Plain xml.conversionType StructXML2Plain
XML2Plain xml.addHeaderLine 0
XML2Plain xml.recordsetStructure STARTRECORD,DATARECORD,SERVICEYDELSERRECORD,SLUTRECORD
XML2Plain xml.STARTRECORD.fieldFixedLengths 2,8,6,7,10,7,3,3
XML2Plain xml.DATARECORD.fieldFixedLengths 2,8,6,4,35,17,7,7,7,5,5,5,18,18,18,18,18,18,18,18,18,9
XML2Plain xml.SERVICEYDELSERRECORD.fieldFixedLengths 2,8,6,4,3,20,18,18,18
XML2Plain xml.SLUTRECORD.fieldFixedLengths 2,8,6,7,10,7
XML2Plain xml.STARTRECORD.fixedLengthTooShortHandling Cut
XML2Plain xml.DATARECORD.fixedLengthTooShortHandling Cut
XML2Plain xml.SERVICEYDELSERRECORD.fixedLengthTooShortHandling Cut
XML2Plain xml.SLUTRECORD.fixedLengthTooShortHandling Cut
The structure of the message looks like this:
<STARTRECORD> (occurence = 1)
<DATARECORD> (occurence = 1..unbounded)
--- <SERVICEYDELSERRECORD> (occurence = 0..unbounded)
<SLUTRECORD> (occurence = 1)
I've crosschecked every field, and it length and all looks like it should!
The worst part is the one not getting the reason why it fails. Any way I can get this information?
I've tried to look in the Adapter Framework log, but I have no clue where to look for anything usefull.
Help
Regards PeterHello,
Below is the module configuration in my JMS sender channel:
Check Message Local Enterprise Bean key
ConvertJMSMessageToBinary Local Enterprise Bean convert_JMS2Bin
ConvertBinaryToXMBMessage Local Enterprise Bean convert_Bin2XI
CallSapAdapter Local Enterprise Bean call_AF_MS
CheckMessage is a custom module which does some check on the incoming message.
Now what I want to know is at which position should I include the DynamicConfiguration Bean? Should it be included at position 1 or at position 2 or someother position?
~Thanks. -
Exporting data clusters with type version
Hi all,
let's assume we are saving some ABAP data as a cluster to database using the IMPORT TO ... functionality, e.g.
EXPORT VBAK FROM LS_VBAK VBAP FROM LT_VBAP TO DATABASE INDX(QT) ID 'TEST'
Some days later, the data can be imported
IMPORT VBAK TO LS_VBAK VBAP TO LT_VBAP FROM DATABASE INDX(QT) ID 'TEST'.
Some months or years later, however, the IMPORT may crash: Since it is the most normal thing in the world that ABAP types are extended, some new fields may have been added to the structures VBAP or VBAK in the meantime.
The data are not lost, however: Using method CL_ABAP_EXPIMP_UTILITIES=>DBUF_IMPORT_CREATE_DATA, they can be recovered from an XSTRING. This will create data objects apt to the content of the buffer. But the component names are lost - they get auto-generated names like COMP00001, COMP00002 etc., replacing the original names MANDT, VBELN, etc.
So a natural question is how to save the type info ( = metadata) for the extracted data together with the data themselves:
EXPORT TYPES FROM LT_TYPES VBAK FROM LS_VBAK VBAP FROM LT_VBAP TO DATABASE INDX(QT) ID 'TEST'.
The table LT_TYPES should contain the meta type info for all exported data. For structures, this could be a DDFIELDS-like table containing the component information. For tables, additionally the table kind, key uniqueness and key components should be saved.
Actually, LT_TYPES should contain persistent versions of CL_ABAP_STRUCTDESCR, CL_ABAP_TABLEDESCR, etc. But it seems there is no serialization provided for the RTTI type info classes.
(In an optimized version, the type info could be stored in a separate cluster, and being referenced by a version number only in the data cluster, for efficiency).
In the import step, the LT_TYPES could be imported first, and then instances for these historical data types could be created as containers for the real data import (here, I am inventing a class zcl_abap_expimp_utilities):
IMPORT TYPES TO LT_TYPES FROM DATABASE INDX(QT) ID 'TEST'.
DATA(LO_TYPES) = ZCL_ABAP_EXPIMP_UITLITIES=>CREATE_TYPE_INFOS ( LT_TYPES ).
assign lo_types->data_object('VBAK')->* to <LS_VBAK>.
assign lo_types->data_object('VBAP')->* to <LT_VBAP>.
IMPORT VBAK TO <LS_VBAK> VBAP TO <LT_VBAP> FROM DATABASE INDX(QT) ID 'TEST'.
Now the data can be recovered with their historical types (i.e. the types they had when the export statement was performed) and processed further.
For example, structures and table-lines could be mixed into the current versions using MOVE-CORRESPONDING, and so on.
My question: Is there any support from the standard for this functionality: Exporting data clusters with type version?
Regards,
RüdigerThe IMPORT statement works fine if target internal table has all fields of source internal table, plus some additional fields at the end, something like append structure of vbak.
Here is the snippet used.
TYPES:
BEGIN OF ty,
a TYPE i,
END OF ty,
BEGIN OF ty2.
INCLUDE TYPE ty.
TYPES:
b TYPE i,
END OF ty2.
DATA: lt1 TYPE TABLE OF ty,
ls TYPE ty,
lt2 TYPE TABLE OF ty2.
ls-a = 2. APPEND ls TO lt1.
ls-a = 4. APPEND ls TO lt1.
EXPORT table = lt1 TO MEMORY ID 'ZTEST'.
IMPORT table = lt2 FROM MEMORY ID 'ZTEST'.
I guess IMPORT statement would behave fine if current VBAK has more fields than older VBAK. -
Using JDBC Data Sources with ADFBC, NoInitialContextException
Using JDBC Data Sources with ADF Business Components, NoInitialContextException
I follow the instruction in the link below to create an ADF Swing application using datasource. I am using JDeveloper version 10.1.3.
http://www.oracle.com/technology/products/jdev/howtos/10g/usingdatasources/using_datasources.html
The ADF generated code looks like this:
JUMetaObjectManager.setErrorHandler(new JUErrorHandlerDlg());
JUMetaObjectManager mgr = JUMetaObjectManager.getJUMom();
mgr.setJClientDefFactory(null);
BindingContext ctx = new BindingContext();
ctx.put(DataControlFactory.APP_PARAM_ENV_INFO, new JUEnvInfoProvider());
ctx.setLocaleContext(new DefLocaleContext(null));
HashMap map = new HashMap(4);
map.put(DataControlFactory.APP_PARAMS_BINDING_CONTEXT, ctx);
mgr.loadCpx("datasource.view.DataBindings.cpx" , map);
final FormMain frame = new FormMain();
frame.setBindingContext(ctx);
I got this error when executing the last line: frame.setBindingContext(ctx);
(oracle.jbo.common.ampool.ApplicationPoolException) JBO-30003: The application pool (datasource.datamodel.AppModuleDS) failed to checkout an application module due to the following exception:
----- LEVEL 1: DETAIL 0 -----
(oracle.jbo.JboException) JBO-29000: Unexpected exception caught: oracle.jbo.DMLException, msg=JBO-27200: JNDI failure. Unable to lookup Data Source at context jdbc/xe_hrDS
----- LEVEL 2: DETAIL 0 -----
(oracle.jbo.DMLException) JBO-27200: JNDI failure. Unable to lookup Data Source at context jdbc/xe_hrDS
----- LEVEL 3: DETAIL 0 -----
(javax.naming.NoInitialContextException) Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
If I configure the application module connection type as JDBC URL, everything works.
If the connection type is JDBC Datasource, I got the above error.
Can someone show me how to adjust the generated code by ADF to use datasource?ADF BC has a bug. With Data Source in Application Module, application module does not connect. Use JDBC Connection URL.
Also refer
ADF BC: JDBC URL vs JDBC DataSource -
Structure of abap code in fi module
Hi all
I joined like fresher could you help me how to write the abap code
structure of the abap codeCHECK THIS
I HOPE IT WILL HELP YOU.
*& Report ZDTK_FI_CRDB
*& DESCRIPTION : CREDIT DEBIT NOTE FOR CUSTOMER OR VENDOR.
REPORT ZDTK_FI_CRDB NO STANDARD PAGE HEADING
LINE-COUNT 65(5)
LINE-SIZE 80
MESSAGE-ID ZTAR_FI
*& STRUCTURE DECLARATION
TYPES : BEGIN OF TY_ADDR,
BUKRS TYPE BUKRS, "COMPANY CODE
LIFNR TYPE LIFNR, "VENDOR NO
KUNNR TYPE KUNNR, "CUSTOMJER NO
NAME1 TYPE NAME1, "NAME1
NAME2 TYPE NAME2, "NAME2
ORT01 TYPE ORT01, "CITY
ORT02 TYPE ORT02,
PSTLZ TYPE PSTLZ, "POSTAL CODE
STRAS TYPE STRAS, "STREET
ADRNR TYPE ADRNR, "ADDRESS NO
TELF1 TYPE TELF1, "TELEFHONE NO
TELF2 TYPE TELF2, "TELEFHONE NO 2
TELFX TYPE TELFX, "FAX
END OF TY_ADDR,
BEGIN OF TY_LFA1,
KUNNR TYPE KUNNR, "CUSTOMJER NO
NAME1 TYPE NAME1, "NAME1
NAME2 TYPE NAME2, "NAME2
ORT01 TYPE ORT01, "CITY
ORT02 TYPE ORT02,
PSTLZ TYPE PSTLZ, "POSTAL CODE
STRAS TYPE STRAS, "STREET
ADRNR TYPE ADRNR, "ADDRESS NO
TELF1 TYPE TELF1, "TELEFHONE NO
TELF2 TYPE TELF2, "TELEFHONE NO 2
TELFX TYPE TELFX, "FAX
END OF TY_LFA1,
BEGIN OF TY_DOCM,
GJAHR TYPE GJAHR,
BELNR TYPE BELNR_D,
BUDAT TYPE BUDAT,
BLDAT TYPE BLDAT,
BLART TYPE BLART,
BSCHL TYPE BSCHL,
SHKZG TYPE SHKZG,
XBLNR TYPE XBLNR,
DMBTR TYPE DMBTR,
SGTXT TYPE SGTXT,
REBZG TYPE REBZG,
REBZJ TYPE REBZJ,
KUNNR TYPE KUNNR,
LIFNR TYPE LIFNR,
END OF TY_DOCM.
*& TABLE DECLARATION
DATA : T_ADDR TYPE STANDARD TABLE OF TY_ADDR,
*& WORK AREA DECLARATION
W_ADDR TYPE TY_ADDR,
W_DOCM TYPE TY_DOCM,
W_LFA1 TYPE TY_LFA1,
*& GLOBLE VARIABLE DECLARATION
G_KUNNR TYPE KUNNR,
G_LIFNR TYPE LIFNR,
DCAMT TYPE DMBTR.
*& INITIALIZATION
INITIALIZATION.
CLEAR :
*REFRESH :
*& SELECTION SCREEN DECLARATION
SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN SKIP 1.
PARAMETERS : S_BUKRS TYPE BSID-BUKRS OBLIGATORY DEFAULT '1000'.
PARAMETERS : S_BELNR TYPE BELNR_D OBLIGATORY DEFAULT '1600000070'.
PARAMETERS : S_GJAHR TYPE GJAHR OBLIGATORY DEFAULT '2008'.
PARAMETERS : ASON TYPE BUDAT OBLIGATORY DEFAULT SY-DATUM.
PARAMETERS : S_KUNNR TYPE KUNNR MODIF ID GP1.
PARAMETERS : S_LIFNR TYPE LIFNR MODIF ID GP2.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN : END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS R1 RADIOBUTTON GROUP RAO DEFAULT 'X' USER-COMMAND hit.
SELECTION-SCREEN COMMENT (50) TEXT-003 FOR FIELD R1.
PARAMETERS R2 RADIOBUTTON GROUP RAO.
SELECTION-SCREEN COMMENT (50) TEXT-004 FOR FIELD R2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN END OF BLOCK B2.
*SELECTION-SCREEN: BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-005.
*SELECTION-SCREEN SKIP 1.
*SELECTION-SCREEN BEGIN OF LINE.
*PARAMETERS R3 RADIOBUTTON GROUP RAJ DEFAULT 'X' USER-COMMAND hit.
*SELECTION-SCREEN COMMENT (50) TEXT-006 FOR FIELD R1.
*PARAMETERS R4 RADIOBUTTON GROUP RAJ.
*SELECTION-SCREEN COMMENT (50) TEXT-007 FOR FIELD R2.
*SELECTION-SCREEN END OF LINE.
*SELECTION-SCREEN SKIP 1.
*SELECTION-SCREEN : END OF BLOCK B3.
*& AT SELECTION SCREEN
AT SELECTION-SCREEN.
PERFORM VALIDATE_SELECTION.
*& AT SELECTION SCREEN OUTPUT
AT SELECTION-SCREEN OUTPUT.
PERFORM SCREEN_OUTPUT.
*& START OF SELECTION
START-OF-SELECTION.
IF R1 = 'X'.
PERFORM GET_DOCUMENT_L.
ELSEIF R2 = 'X'.
PERFORM GET_DOCUMENT_K.
ENDIF.
*& END OF SELECTION
END-OF-SELECTION.
PERFORM DISPLAY.
*& TOP OF PAGE
*TOP-OF-PAGE.
PERFORM PAGE_HEADER.
*& Form VALIDATE_SELECTION
text
form VALIDATE_SELECTION .
DATA : L_BUKRS TYPE BSID-BUKRS.
SELECT SINGLE BUKRS FROM KNB1
INTO L_BUKRS
WHERE BUKRS = S_BUKRS.
*IF SY-SUBRC <> 0.
*MESSAGE E001.
*LEAVE LIST-PROCESSING.
*ENDIF.
DATA : L_KUNNR TYPE BSID-KUNNR.
SELECT SINGLE KUNNR FROM BSID
INTO L_KUNNR
WHERE KUNNR = S_KUNNR.
*IF SY-SUBRC <> 0.
*MESSAGE E002.
*LEAVE LIST-PROCESSING.
*ENDIF.
endform. " VALIDATE_SELECTION
*& Form SCREEN_OUTPUT
text
form SCREEN_OUTPUT .
IF R1 = 'X'.
LOOP AT SCREEN.
if screen-group1 = 'GP1'.
SCREEN-active = '0'.
*SCREEN-INTENSIFIED = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF SCREEN-group1 = 'GP2'.
SCREEN-active = '0'.
*SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
endform. " SCREEN_OUTPUT
*& Form GET_DOCUMENT_L
text
FORM GET_DOCUMENT_L .
DATA : MESSG(60).
SELECT SINGLE BUKRS
LIFNR
GJAHR
BELNR
BUDAT
BLDAT
BLART
BSCHL
SHKZG
DMBTR
SGTXT
REBZG
REBZJ FROM BSIK
INTO CORRESPONDING FIELDS OF W_DOCM
WHERE BUKRS = S_BUKRS AND
GJAHR = S_GJAHR AND
BELNR = S_BELNR.
SELECT SINGLE DMBTR FROM BSIK INTO DCAMT
WHERE BELNR = W_DOCM-REBZG AND
GJAHR = W_DOCM-REBZJ.
IF NOT W_DOCM IS INITIAL.
PERFORM GET_LFA1.
ELSE.
SELECT SINGLE BUKRS
LIFNR
GJAHR
BELNR
BUDAT
BLDAT
BLART
BSCHL
SHKZG
DMBTR
SGTXT
REBZG
REBZJ FROM BSAK
INTO CORRESPONDING FIELDS OF W_DOCM
WHERE BUKRS = S_BUKRS AND
GJAHR = S_GJAHR AND
BELNR = S_BELNR.
SELECT SINGLE DMBTR FROM BSAK INTO DCAMT
WHERE BELNR = W_DOCM-REBZG AND
GJAHR = W_DOCM-REBZJ.
IF NOT W_DOCM IS INITIAL.
PERFORM GET_LFA1.
ELSE.
CONCATENATE 'THERE IS NO DOCUMENT NO' S_BELNR S_GJAHR 'FOR VENDOR' INTO MESSG
SEPARATED BY SPACE.
MESSAGE I011 WITH MESSG.
LEAVE LIST-PROCESSING.
ENDIF.
ENDIF.
ENDFORM. " GET_DOCUMENT_L
*& Form GET_LFA1
text
FORM GET_LFA1 .
SELECT SINGLE LIFNR
NAME1
NAME2
ORT01
ORT02
PSTLZ
STRAS
ADRNR
TELF1
TELF2
TELFX FROM LFA1 INTO CORRESPONDING FIELDS OF W_ADDR
WHERE LIFNR = W_DOCM-LIFNR.
ENDFORM. " GET_LFA1
*& Form GET_DOCUMENT_K
text
FORM GET_DOCUMENT_K .
DATA : MESSG(60).
SELECT SINGLE BUKRS
KUNNR
LIFNR
GJAHR
BELNR
BUDAT
BLDAT
BLART
BSCHL
SHKZG
DMBTR
SGTXT
REBZG
REBZJ FROM BSID
INTO CORRESPONDING FIELDS OF W_DOCM
WHERE BUKRS = S_BUKRS AND
GJAHR = S_GJAHR AND
BELNR = S_BELNR.
SELECT SINGLE DMBTR FROM BSID INTO DCAMT
WHERE BELNR = W_DOCM-REBZG AND
GJAHR = W_DOCM-REBZJ.
IF NOT W_DOCM IS INITIAL.
PERFORM GET_KNA1.
ELSE.
SELECT SINGLE BUKRS
KUNNR
LIFNR
GJAHR
BELNR
BUDAT
BLDAT
BLART
BSCHL
SHKZG
DMBTR
SGTXT
REBZG
REBZJ FROM BSAD
INTO CORRESPONDING FIELDS OF W_DOCM
WHERE BUKRS = S_BUKRS AND
GJAHR = S_GJAHR AND
BELNR = S_BELNR.
SELECT SINGLE DMBTR FROM BSAD INTO DCAMT
WHERE BELNR = W_DOCM-REBZG AND
GJAHR = W_DOCM-REBZJ.
IF NOT W_DOCM IS INITIAL.
PERFORM GET_KNA1.
ELSE.
CONCATENATE 'THERE IS NO DOCUMENT NO' S_BELNR S_GJAHR 'FOR CUSTOMER' INTO MESSG
SEPARATED BY SPACE.
MESSAGE I011 WITH MESSG.
LEAVE LIST-PROCESSING.
ENDIF.
ENDIF.
ENDFORM. " GET_DOCUMENT_K
*& Form GET_KNA1
text
FORM GET_KNA1 .
SELECT SINGLE KUNNR
NAME1
NAME2
ORT01
ORT02
PSTLZ
STRAS
ADRNR
TELF1
TELF2
TELFX FROM KNA1 INTO CORRESPONDING FIELDS OF W_ADDR
WHERE KUNNR = W_DOCM-KUNNR.
ENDFORM. " GET_KNA1
*& Form DISPLAY
text
FORM DISPLAY .
LONG TEXT *************************
*DATA : BEGIN OF inline OCCURS 0,
*END OF inline.
*TYPES: BEGIN OF TY_LONGT,
tdformat TYPE tdformat,
tdline TYPE tdline,
END OF TY_LONGT.
*DATA : TLONGT TYPE STANDARD TABLE OF TY_LONGT,
WLONGT TYPE TY_LONGT.
DATA: BEGIN OF DTEXT OCCURS 50.
*DATA: MATNR LIKE PBIM-MATNR.
INCLUDE STRUCTURE TLINE.
DATA: END OF DTEXT.
DATA: BEGIN OF HTEXT.
INCLUDE STRUCTURE THEAD.
DATA: END OF HTEXT.
DATA: BEGIN OF LTEXT OCCURS 50.
INCLUDE STRUCTURE TLINE.
DATA: END OF LTEXT.
DATA: TNAME LIKE THEAD-TDNAME.
CONCATENATE S_BUKRS W_DOCM-BELNR S_GJAHR '002' INTO TNAME.
*SEPARATED BY SPACE.
DATA : W_STXL TYPE STXL.
SELECT SINGLE * FROM STXL INTO W_STXL
WHERE TDNAME = TNAME.
IF NOT W_STXL IS INITIAL.
*SELECT * FROM PBIM WHERE WERKS IN S_WERKS.
*MOVE PBIM-BDZEI TO TNAME.
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT
ID = W_STXL-TDID
LANGUAGE = W_STXL-TDSPRAS
NAME = TNAME
OBJECT = W_STXL-TDOBJECT
ARCHIVE_HANDLE = 0
LOCAL_CAT = ' '
IMPORTING
HEADER = HTEXT
TABLES
LINES = LTEXT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
LOOP AT LTEXT.
IF LTEXT-TDLINE NE ''.
MOVE LTEXT-TDLINE TO DTEXT-TDLINE.
APPEND DTEXT.
ENDIF.
ENDLOOP.
ENDIF.
LONG TEXT *************************
CUSTOMER / VENDOR NO *************************
DATA : CUVE(10).
IF R1 = 'X'.
CUVE = W_ADDR-LIFNR.
ELSEIF R2 = 'X'.
CUVE = W_ADDR-KUNNR.
ENDIF.
CUSTOMER / VENDOR NO *************************
CR / DR DATA *************************
IF DCAMT IS INITIAL.
SELECT SINGLE DMBTR FROM BSIS INTO DCAMT
WHERE BELNR = W_DOCM-REBZG AND
GJAHR = W_DOCM-REBZJ .
( KOART = 'D' OR KOART = 'K' ).
ENDIF.
CR / DR DATA *************************
DATA: CNAME TYPE BUTXT.
SELECT SINGLE BUTXT FROM T001 INTO CNAME
WHERE BUKRS = S_BUKRS.
DATA : NAME(60),
STREET(60),
TELFX(60).
CONCATENATE W_ADDR-NAME1 W_ADDR-NAME2 INTO NAME
SEPARATED BY SPACE.
CONCATENATE W_ADDR-ORT01 W_ADDR-ORT02 'POSTAL CODE :' W_ADDR-PSTLZ INTO STREET
SEPARATED BY SPACE.
CONCATENATE 'Tel No.:' W_ADDR-TELF1 W_ADDR-TELF2 'FAX :' W_ADDR-TELFX INTO TELFX
SEPARATED BY SPACE.
DATA : CRDB(20),
CRDBA(16),
BALC TYPE DMBTR.
IF W_DOCM-SHKZG = 'S'.
CRDB = 'Debit Note No. :'.
CRDBA = 'DEBIT'.
BALC = DCAMT + W_DOCM-DMBTR.
ELSEIF W_DOCM-SHKZG = 'H'.
CRDB = 'Credit Note No. :'.
CRDBA = 'CREDIT'.
BALC = DCAMT - W_DOCM-DMBTR.
ENDIF.
SKIP 5.
*FORMAT INVERSE.
ULINE 03(77).
WRITE : 03 SY-VLINE, 80 '|',
/03 SY-VLINE, NAME, 54 'Party No.:' COLOR 7, CUVE COLOR 7, 80 '|',
/03 SY-VLINE, W_ADDR-STRAS, 80 '|',
/03 SY-VLINE, STREET, 80 '|',
/03 SY-VLINE, TELFX, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 05 CNAME COLOR 2, 80 '|',
/03 SY-VLINE, 36 CRDB RIGHT-JUSTIFIED, 59 W_DOCM-BELNR, 71 W_DOCM-GJAHR, 80 '|',
/03 SY-VLINE, 58 'DATE :', W_DOCM-BUDAT, 80 '|',
/03 SY-VLINE, 80 '|'. ULINE 03(77).
WRITE : /03 SY-VLINE, 80 '|'.
IF NOT DTEXT IS INITIAL.
LOOP AT DTEXT.
WRITE : /03 SY-VLINE, 05 DTEXT-TDLINE COLOR 1, 80 '|'.
ENDLOOP.
ELSEIF W_DOCM-SGTXT NE ''.
WRITE : /03 SY-VLINE, 05 W_DOCM-SGTXT COLOR 1, 80 '|'.
ELSE.
WRITE : /03 SY-VLINE, 80 '|'.
ENDIF.
WRITE : /03 SY-VLINE, 80 '|',
*WRITE : /03 SY-VLINE, TNAME, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 08 'WORKING OF INTEREST CALCULATION AS ON ' COLOR 4,
47 ASON COLOR 4, ' [ 360 DAYS BASIS ]' COLOR 4, 80 '|',
/03 SY-VLINE, 80 '|'. ULINE 03(77).
WRITE : /03 SY-VLINE, 11 'DATE', 23 'INVOICE', 41 CRDBA, 55 'BALANCE', 64 'DAYS', 70 'INTEREST', 80 '|',
/03 SY-VLINE, 23 ' AMOUNT', 41 'AMOUNT', 55' AMOUNT', 70 ' @ 8.00% ', 80 '|',
/03 SY-VLINE, 80 '|'. ULINE 03(77).
WRITE : /03 SY-VLINE, 80 '|',
/03 SY-VLINE, 06 W_DOCM-BUDAT, 15 DCAMT, 32 W_DOCM-DMBTR, 47 BALC, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|'. ULINE 03(77).
WRITE : /03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 10 'PREPARED BY', 35 'ACCOUNTANT', 60 'MANAGER', 80 '|',
/03 SY-VLINE, 80 '|',
/03 SY-VLINE, 80 '|'. ULINE 03(77).
ENDFORM. " DISPLAY
Maybe you are looking for
-
Session: Waiting and Working Chart
I am using OEM 10g (Grid control) to monitor my database. But I don know what does the Y axis on the chart (Session: Waiting and Working) mean ? Thanks for your help. Note: Click Home page -> Database -> Performance -> Sessions: Waiting and Working.
-
How to share catalog between two users on one iMac?
Using Photoshop elements 11: I built op my catalog, creating events, tagging people etc. Now I would like my girlfriend to also use this catalog. (I can build up a new catalog but then I lose all the events, tags etc). I put the pictures and catalog
-
Why wont my ipod update past 4.2
I'm hoping somebody can help. I jail broke my ipod a while back and now i want to update it, i tried looking for a new update but itunes keeps telling me that the ipod is already at the newest update, even though the newest is 5. something i am stuck
-
hello guys, i badly need your help. last night i was trying to udate for a new software on ios but i failed to finish updating then after a few minutes i tried updating it again but it did'nt turned out well. what appears on my iphone is that I shoul
-
Create number range and assign new product id
hi, can anyone tell me the steps to create the number range and assign it to the product id.. and replace existing product id to the new one through program or.. is there any standard program is available to change the product id thanks dinesh