Download and upload Z programs from one r/3 to another r/3 system
hi,
i want to download all Z programs( reports, screens, function modules etc) from one R/3 system and upload the same into another R/3 system.
can anyone give me the sample code for this please
thanks.
hi Radhika,
For that save those programs into some transport request by assigning the development class and release the request to the system where you want the program to be ..
for assigning those programs on to some development class follow this path SE38 give the program name ... GOTO->OBJECT DIRECTORY ENTRY-> give the development class by changing $tmp to some development class
Regards,
santosh
Similar Messages
-
How to download and upload BDC programs
How to download and upload BDC programs from one instance to another instance? I would like to transport my BDC programs from one dev client to another Dev client not through transport like smartforms.(we can download smartforms to desktop and upload to someother client)
Hi,
No need to record again. You can save the recording session by generating the program in transaction SHDB. Then you can download the BDC program and upload to another SAP client using transaction SE38.
Regards,
Ferry Lianto -
Download and Upload Modulepool program
hai all,
Could any one say how to Download and Upload Modulepool program from sap.
Thanks,
Jeevan.Hi Puduru
Welcome to ABAP forums.
If you just want to export Module pool program once, you can use transaction SE80 and menu point Utilities->More Utilities->Upload/Download->Download option ( for each include / component ).
Save it as a text file and then repeat the same process.
Here's other programs for the same functionality. You can use one of them.
http://www.members.tripod.com/abap4/Upload_and_Download_ABAP_Source_Code.html
http://sap.ittoolbox.com/code/d.asp?d=1623&a=s
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/finding your code in bsp applications.article
http://www.geocities.com/rmtiwari/Resources/Utilities/WebViewer.html
http://www.dalestech.com/
Dont forget to rewards pts, if it helps ;>)
Regards,
Rakesh -
How to copy a Module Pool Program from one SAP server to another SAP server
Hi Experts,
My requirement is to copy some Module pool programs from one SAP server to another SAP server which do not have any link.
Please advise on this.
Regards
Dipakput all relevant objects inside a transport request and release it. this will generate two files, a control file in /usr/sap/trans/cofiles/ and a data file in /usr/sap/trans/data/
you can take these two files, zip'em up and e.g. email them to your destination. There they have to be put into the same directories of that other server and can then be added to the import queue and finally imported.
These last steps would usually be done by an administrator.
Both systems should be on the same release, as far as I know.
Cheers
Thomas -
Installed 3.6.8 and now cannot switch from one open tab to another
my home page automatically opens 4 tabs, I updated to 3.6.8 on my mac laptop. Now when the tabs are open I cannot go from one open tab to another even though the tabs are still up.
Download iTunes from Apple's web site and install it. Don't use Software Update.
-
Adding and removing current user from one SharePoint group to another with event receiver
hi friends
i need to change current user from one SharePoint group to another with list item adding event receiver.
please help meHi Malli,
Greetings. Its nt possible
http://sharepoint.stackexchange.com/questions/42286/event-receivers-on-add-remove-users
Please remember to click 'Mark as Answer' on the answer if it helps you -
Downloading and Uploading ABAP programs
I need to move a new GUI program (including all screens, include, subroutines, etc.) that was developed on our SAP 4.5 system to our new, upgraded, ECC 6.0 system.
There is an old ABAP program that we use to use called ZSABAPUPDOWNLOAD, but it no longer seem to work between these two SAP versions.
Because of the version differences between these tow systems, our BASIS group does not want us to use a transport to move this code.
Other than completely recreating this program on the ECC60 system, does anyone know of a program (like the old ZSABAPUPDOWNLOAD) or utility that I could use to transfer this program to the new system?welcome to SDN.
is this the program do u have.
if not check it with this.
REPORT ZUPDOWNPROGRAMS LINE-SIZE 132 LINE-COUNT 62 NO STANDARD PAGE HEADING.
This program up / downloads from / to a local dataset
all the components of an ABAP - i.e TEXTS, the entire CUA
including statuses and menus, DYNPROS and source code.
Program documentation and variants are not handled.
INCLUDED programs are automatically handled both on upload
or download. INCLUDE selection can be excluded or generic
e.g only handle INCLUDES starting with ZIN*
INCLUDES within INCLUDES also handled.
The only restriction is on UPLOAD the INCLUDED programs must come
from the same directory as the main program.
On Download of course the ABAP must exist in the library.
Note for LINUX and BATCH users
This program was originally designed as a one off tool for
getting ABAPS etc from a SAP R2 (IBM MVS mainframe system) into
an R3 test system minimising the need for a large amount of
mainframe sysprogs (anybody remember what they were !!) time
and support to say nothing of access problems from TSO /JES2 /
SAP R2. At that time network connections were patchy and the
transport systems largely incompatable and not very reliable.
This program was originally designed as a one off tool for
Must run on Windows front end ---- If you are running SAP with
LINUX on your work station you will have to change the WS_UPLOAD
and WS_DOWNLOAD functions to reflect the Linux file system. The
contents of the data sets themseleves do not need to be changed
Program can easily be modified to run in batch and store
the data on a UNIX host. Change the WS_UPLOAD and WS_DOWNLOAD
to read from and write to UNIX data sets (OPEN FILE etc).
You will also need to modify the parts of the program that get
the DOS directory and display the Windows file paths.
The actual abap data sets do not need to be changed.
Rel 4.0 names can now be up to 40 bytes long
Dynpros and CUA have changed from rel 3.1
Tabstrips now loaded and unloaded in dynpros
Please note restriction on 4.6 systems for users who
have ABAP names which include '/'s in their names.
Rel 4.6b, 4.6c Abap names can include the '/' in their names
e.g /CUST1/CUST2/ORDER
This causes problems when storing to a local file.
a solution is to change the name to %CUST1%CUST2%ORDER i.e / will
be changed to %. On upload the % should be changed back to /
again. This change still needs to be implemented.
If you don't use the / in the abap name then this is not a problem.
If file to be uploaded is in rel 3 format then names are only 8
bytes long.
program uses 3 datasets per abap
1) abapname.eee source, dynpr logic, texts, CUA stuff
2) abapname.hhh dynpr header
3) abapname.fff dynpro fields.
because of varying lengths and contents 3 data sets are used. The
complexity of combining all these to 1 data set would make the
program far too complex.
NOTE: This version of the program can only be used on
release 4.0 or higher. Once an ABAP has been converted
to rel 4.0 it cannot be converted back to rel 3.0
on a release 3/3.1 system. Release 4 CUA tables
are different. Use release 3 version of this program
for releases 3.0 and 3.1. Available on SAPFANS website.
Note that data to be uploaded must have been previously downloaded
by this program (any version since rel 2.0) - except for Initial
Load -- see end of these comments.
Dynpros and CUA statuses have changed since rel 3.1
This program will handle rel 3.1 format on upload but will
download in rel 4.0 format. To upload 3.1 format specify an 'X'
in the rel3 parameter.
If you have downloaded components in rel 4.0 format and you
want to re-load to a 3.1 system you will have to load
the source via standard upload and re-create dynpros and the CUA
manually.
As names can now be longer than 8 characters you can only
use this program if the SAP front end (SAPGUI) supports
long file names (WIN 95/98 or WIN NT). Windows 3.x will not
work as the underlying DOS system cannot handle long file names.
UPLOAD function and DOS directory.
When an ABAP is selected for UPLOAD then the DOS
directory is read into a table. A file called ABAP.BAT is created,
and down loaded to the 'C' drive and executed.
This file executes a DOS DIR command and pipes the output
into a dataset which is then uploaded into an internal
table on SAP.
Note on running DOS commands from ABAP
The first time this procedure is executed you will see a DOS window
which you will have to close manually. To get round this
use windows explorer to select the file ABAP.BAT and then
right mouse click on the file name. Select the
properties window. From this click the CLOSE on EXIT box. This
will then automatically close the DOS function after it has
executed. (Windows restriction).
The DOS function has not been tested using Windows 2000 so
it might not work. OK on W95,W98,WME and Windows NT (No Thanks)
If INCLUDE programs are wanted on UPLOAD only the specified
directory is searched.
Instead of entering path name manually you can click on
the path parameter. Because of Windows restriction you will
have to select ANY file in the relevant directory.
The path will then be copied on to the selection screen.
To do still : Merge 3 files to one and compress output to .ZIP file
fix 4.5 4.6 problem of abaps containing '/' in the name
possibility to automatically up / download referenced
function modules with selection criteria like INCLUDES
To load the ist time into a system.
Create program with ABAP editor and Upload the .EEE file.
Delete ist line (????SRCE) in the ABAP EDITOR --NOT THE DISK FILE
Delete all the source from the line that starts ????TEXT (towards
the end file) till the end so the last line in your source is ENDFORM.
DO NOT ALTER THE DISK FILE. DO THESE CHANGES IN THE ABAP EDITOR.
Save file and execute
Use following parameters (Note the ist time you won't get proper
text on the selection screen).
Function U
Path full dos path containing source e.g c:\abaps\
NOTE YOU MUST ENTER THE FINAL \ as above.
REPID the program name. e.g ZZJIMHXX
note that on the DISK you will see 3 files
ZZJIMHXX.EEE, ZZJIMHXX.FFF, ZZJIMHXX.HHH
just use the name before the dos qualifier - the
program will do the rest
ignore other parameters
The program will then load itself with all the texts etc.
It should now be ready for use.
Macros
DEFINE DEFINE_TABLE.
DATA: &1 LIKE &2 OCCURS &3 WITH HEADER LINE.
END-OF-DEFINITION.
DEFINE CLS.
REFRESH &1.
CLEAR &1.
END-OF-DEFINITION.
DEFINE INIT.
IF &1 NE SPACE.
SEARCH &1 FOR '. .'.
IF SY-SUBRC = 0.
WRITE '*' TO &1+SY-FDPOS(1).
ENDIF.
TRANSLATE &1 USING '*%'.
ELSE.
MOVE '%' TO &1.
ENDIF.
END-OF-DEFINITION.
end of macros
/ SAP standard tables */
TABLES: D020S, "Dynpro header
D020T, "Dynpro title
D021T, "Screen field keyword texts
TRDIR, "Attribute table
TADIR, "Dev. class etc.
EUDB, "CUA data
TSTC, "transaction data
TITLE, "CUA titles
RSMPTEXTS. "Function texts (rel 4.0)
/ Work tables to hold ABAP source etc, and dynpro */
/ contents. */
DATA: BEGIN OF H. "Header
INCLUDE STRUCTURE D020S.
DATA: END OF H.
DATA: BEGIN OF H1 OCCURS 10, "Header
NAME(40) TYPE C, "rel 4
NUMBER(4) TYPE N.
INCLUDE STRUCTURE D020S.
DATA: END OF H1.
DATA: BEGIN OF H2 OCCURS 0, "Rel 3 dynp. header
CNAME(8) TYPE C,
CNUM(4) TYPE C,
NNAME(8) TYPE C,
NNUM(4) TYPE C,
FILL(51) TYPE C,
CDAT(6) TYPE C,
CTIM(6) TYPE C,
END OF H2.
DATA: BEGIN OF F OCCURS 250. "Dynpro Fields
INCLUDE STRUCTURE D021S.
DATA: END OF F.
DATA: BEGIN OF F1 OCCURS 500, "Dynpro Fields
NAME(40) TYPE C, "rel 4
NUMBER(4) TYPE N.
INCLUDE STRUCTURE D021S.
DATA: END OF F1.
DATA: BEGIN OF OLD_F1 OCCURS 0, "Dynpro Fields (rel 3)
NAME(8) TYPE C,
NUMBER(4) TYPE C.
INCLUDE STRUCTURE D021SE_OLD.
DATA: END OF OLD_F1.
DATA: BEGIN OF F2 OCCURS 0, "Dynpro Fields (rel 3)
TFIL(284) TYPE C,
END OF F2.
DATA: BEGIN OF M OCCURS 3. "Match codes (if any)
INCLUDE STRUCTURE D023S.
DATA: END OF M.
DATA: BEGIN OF E OCCURS 0. "Dynpro Logic
INCLUDE STRUCTURE D022S.
DATA: END OF E.
DATA: BEGIN OF E1 OCCURS 0, "Dynpro Logic
NAME(40) TYPE C, "rel 4
NUMBER(4) TYPE N.
INCLUDE STRUCTURE D022S.
DATA: END OF E1.
DATA: BEGIN OF T OCCURS 0, "prog name and dynpro nrs
NAME(40) TYPE C, "rel 4
NUMBER(4) TYPE N,
END OF T.
DATA: BEGIN OF R OCCURS 56, "prog name and language
NAME(40) TYPE C, "rel 4
LANGUAGE(1) TYPE C,
END OF R.
DATA: BEGIN OF S OCCURS 3000,
TXT(180) TYPE C, "rel 4 was 132
END OF S.
DATA: BEGIN OF R1 OCCURS 50, "for include programs
NAME(40) TYPE C, "rel 4
INSTANCE(3) TYPE P,
END OF R1.
DATA: BEGIN OF S1 OCCURS 3000,
TXT(180) TYPE C, " rel 4 was 132
END OF S1.
DATA: BEGIN OF U OCCURS 100, "Text elements
TXT(180) TYPE C, " rel 4 was 132
END OF U.
DATA: BEGIN OF DIR. "ABAP Attributes
INCLUDE STRUCTURE TRDIR.
DATA: END OF DIR.
DATA: BEGIN OF DTXT. "Dynpro field keyword texts
INCLUDE STRUCTURE D021T.
DATA: END OF DTXT.
/ This data contains all the components of the */
/ CUA such as menus, statuses, Pfkeys */
/ As from rel 4.5 Tabstrips are automatically copied as well */
/ The rel3 parameter must be set however to load the */
/ correct version of the CUA tables if uploading rel 3 */
/ data to a rel 4 system. */
/ Rel 4.0B can convert 3.1 and earlier CUA's */
/ This could change later however. */
CUA Tables.
Key of CUA tables in EUDB data set. Name is len 40 in rel 4.0
DATA BEGIN OF EU_KEY.
INCLUDE STRUCTURE RSEU1_KEY.
DATA END OF EU_KEY.
Status
DATA BEGIN OF STA OCCURS 0.
INCLUDE STRUCTURE RSMPE_STAT. " rel 4
DATA END OF STA.
Functions
DATA BEGIN OF FUN OCCURS 0.
INCLUDE STRUCTURE RSMPE_FUNT. "rel 4
DATA END OF FUN.
Menus
DATA BEGIN OF MEN OCCURS 0.
INCLUDE STRUCTURE RSMPE_MEN. "rel 4.0
DATA END OF MEN.
Menus (texts)
DATA BEGIN OF MTX OCCURS 0.
INCLUDE STRUCTURE RSMPE_MNLT. "rel 4.0
DATA END OF MTX.
Action Bar
DATA BEGIN OF ACT OCCURS 0.
INCLUDE STRUCTURE RSMPE_ACT. "rel 4.0
DATA END OF ACT.
Push Buttons
DATA BEGIN OF BUT OCCURS 0.
INCLUDE STRUCTURE RSMPE_BUT. "rel 4.0
DATA END OF BUT.
PF-Keys
DATA BEGIN OF PFK OCCURS 0.
INCLUDE STRUCTURE RSMPE_PFK. "rel 4.0
DATA END OF PFK.
Function sets
DATA BEGIN OF SET OCCURS 0.
INCLUDE STRUCTURE RSMPE_STAF. "rel 4.0
DATA END OF SET.
Documentation
DATA BEGIN OF DOC OCCURS 0.
INCLUDE STRUCTURE RSMPE_ATRT. "rel 4.0
DATA END OF DOC.
Title codes with text
DATA: BEGIN OF TIT OCCURS 0.
INCLUDE STRUCTURE RSMPE_TITT. "rel 4.0
DATA: END OF TIT.
DATA BEGIN OF FTX OCCURS 0. "rel 4.0
INCLUDE STRUCTURE RSMPTEXTS.
DATA END OF FTX.
rel 3.1 CUA components.
Status
DATA BEGIN OF OLD_STA OCCURS 0.
INCLUDE STRUCTURE RSEU1_GEN. " rel 3.1
DATA END OF OLD_STA.
Functions
DATA BEGIN OF OLD_FUN OCCURS 0.
INCLUDE STRUCTURE RSEU1_FUN. "rel 3.1
DATA END OF OLD_FUN.
Menus
DATA BEGIN OF OLD_MEN OCCURS 0.
INCLUDE STRUCTURE RSEU1_MEN. "rel 3.1
DATA END OF OLD_MEN.
Menus (texts)
DATA BEGIN OF OLD_MTX OCCURS 0.
INCLUDE STRUCTURE RSEU1_TXM. "rel 3.1
DATA END OF OLD_MTX.
Action Bar
DATA BEGIN OF OLD_ACT OCCURS 0.
INCLUDE STRUCTURE RSEU1_ACT. "rel 3.1
DATA END OF OLD_ACT.
Push Buttons
DATA BEGIN OF OLD_BUT OCCURS 0.
INCLUDE STRUCTURE RSEU1_BUT. "rel 3.1
DATA END OF OLD_BUT.
PF-Keys
DATA BEGIN OF OLD_PFK OCCURS 0.
INCLUDE STRUCTURE RSEU1_PFK. "rel 3.1
DATA END OF OLD_PFK.
Function sets
DATA BEGIN OF OLD_SET OCCURS 0.
INCLUDE STRUCTURE RSEU1_SET. "rel 3.1
DATA END OF OLD_SET.
Documentation
DATA BEGIN OF OLD_DOC OCCURS 0.
INCLUDE STRUCTURE RSEU1_ETM. "rel 3.1
DATA END OF OLD_DOC.
Title codes with text
DATA: BEGIN OF OLD_TIT OCCURS 0.
INCLUDE STRUCTURE TITLE. "rel 3.1
DATA: END OF OLD_TIT.
dynamic function text
DATA BEGIN OF FDN OCCURS 1.
INCLUDE STRUCTURE RSEU1_FDYN. "not req for rel 4.
DATA END OF FDN.
Icons
DATA BEGIN OF FIN OCCURS 1.
INCLUDE STRUCTURE RSEU1_ICON. "not req for rel 4
DATA END OF FIN.
dynamic menu texts
DATA BEGIN OF MDN OCCURS 1.
INCLUDE STRUCTURE RSEU1_MDYN. "not req for rel 4.
DATA END OF MDN.
Symbol list
DATA BEGIN OF SYM OCCURS 0.
INCLUDE STRUCTURE RSEU1_SYMB.
DATA END OF SYM.
Status Short text
DATA BEGIN OF STX OCCURS 0.
INCLUDE STRUCTURE RSEU1_CTX.
DATA END OF STX.
Attributes for function key settings (menu bars) Rel 3.0
DATA BEGIN OF ATT OCCURS 0.
INCLUDE STRUCTURE RSEU1_HAT.
DATA END OF ATT.
Include-Menus
DATA BEGIN OF INC OCCURS 3.
INCLUDE STRUCTURE RSEU1_INC.
DATA END OF INC.
Last used numbers
DATA BEGIN OF LAST.
INCLUDE STRUCTURE RSEU1_LST.
DATA END OF LAST.
data for call transaction (SE41 to re-generate the CUA)
DATA: BEGIN OF T_BDC_TAB OCCURS 0.
INCLUDE STRUCTURE BDCDATA. "BDC data
DATA: END OF T_BDC_TAB.
DATA: BEGIN OF T_MESSTAB OCCURS 0.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF T_MESSTAB.
/ Program data */
DATA: NUMBER(4) TYPE N,
OLDNUM(4) TYPE N,
FILESIZE TYPE I,
NR_OF_BYTES TYPE I,
I(3) TYPE P,
IX(3) TYPE P,
J(3) TYPE P,
L(3) TYPE P,
CUA-FLAG(1) TYPE C,
CUA_RETURN(10) TYPE C,
DYNPRO_MESSAGE(160) TYPE C,
DYNPRO_LINE TYPE P,
DYNPRO_WORD(30) TYPE C,
NUM(3) TYPE N,
DYNNAME(44) TYPE C,
FN1(128) TYPE C,
FN2(128) TYPE C,
FN3(128) TYPE C,
W_ITERATE(1) TYPE C,
MAIN(1) TYPE C,
FUNC(1) TYPE C,
OLDNAME(40) TYPE C,
OLD-FUNC(8) TYPE C,
NEW-FUNC(8) TYPE C,
FOUND(1) TYPE C,
LANGUAGE LIKE SY-LANGU,
FIRST-TIME(1) TYPE C VALUE 'Y',
OK-CODE(5) TYPE C,
NAME(40) TYPE C, "rel 4
TXLINE(70) TYPE C,
LINE(132) TYPE C.
DATA:
UL_FILE(128) TYPE C,
DL_FILE(128) TYPE C,
DOSLINE(72) TYPE C.
DATA: BEGIN OF DOSDIR OCCURS 0,
TEXT(72),
END OF DOSDIR.
DATA: BEGIN OF I_PROG OCCURS 0,
NAME(40),
END OF I_PROG.
DATA: BEGIN OF I_PROGT OCCURS 0,
NAME(40),
END OF I_PROGT.
DATA: BEGIN OF I_INCLUDE OCCURS 0,
NAME(40),
HANDLED(1) TYPE C,
END OF I_INCLUDE.
DATA: BEGIN OF I_INCL OCCURS 0,
NAME(40),
END OF I_INCL.
DATA: BUFFER(1024).
DATA: WINSYS(3).
DATA: GLOBAL_FILEMASK_MASK(20), GLOBAL_FILEMASK_TEXT(20).
DATA: GLOBAL_FILEMASK_ALL(80).
DATA: T_FILENAME(128),
TMP_FILENAME(128),
T_MODE(1),
FIELDLN TYPE I.
DEFINE_TABLE I_DYNPFIELDS DYNPREAD 0. "dynpro fields to be updated
DATA: I_FLDS LIKE HELP_VALUE OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS: <F>.
/ Parameters */
SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS REPID FOR TRDIR-NAME OBLIGATORY .
PARAMETERS:
FUNCTION(1) TYPE C OBLIGATORY, "Function
DSNAME(40) TYPE C, "Data set name
INCLUDES(1) TYPE C DEFAULT 'N', "Resolve Includes
IMASK(40) TYPE C, "Include Mask
CLASS LIKE TRDIR-CLAS,
AUTHOR LIKE TRDIR-CNAM, "Author
APPL LIKE TRDIR-APPL,
PATH(88) TYPE C DEFAULT 'A:\',
REL3(1) TYPE C.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-004.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-005.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-002.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(70) TEXT-003.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK A1.
/ Check users workstation is running WINDOWS, */
/ WINDOWS 95, or WINDOWS NT. OS/2 no good for */
/ this application. */
CALL FUNCTION 'WS_QUERY'
EXPORTING
QUERY = 'WS'
IMPORTING
RETURN = WINSYS.
IF WINSYS(2) NE 'WN'. "Win 3.X no good either
WRITE: / 'Windows NT or Windows 95/98 is required'.
EXIT.
ENDIF.
/ Get names of programs to be handled. */
/ Name can be a single value, many values or ranges */
/ as per standard SELECT-OPTIONS on selection screen */
/ On Download read TRDIR and store program names in a table */
/ as per selection options. */
/ On upload read the specified directory for all files of */
/ type .EEE from specified directory */
/ compare file names with selection criteria */
MOVE FUNCTION TO FUNC.
MOVE 'Y' TO MAIN.
CASE FUNC.
WHEN 'U'. "Upload required
PERFORM READ_DOS_DIRECTORY.
PERFORM GET_RANGE_UL. "Get list of progs to process
WHEN 'D'. "Download required
PERFORM GET_RANGE_DL. "Get list of progs to process
WHEN OTHERS.
WRITE: / 'Function not performed due to user request'.
EXIT.
ENDCASE.
SORT I_PROG.
DELETE ADJACENT DUPLICATES FROM I_PROG.
For download INCLUDE handling can be resolved via function
module call.
All Includes within Includes are also resolved by the function
module call.
Note that this method does not work if program itself is of type
I (it's an include)
In this case we can still search the source.
IF FUNC = 'D'.
IF INCLUDES = 'Y'.
PERFORM GET_INCLUDES_DL.
PERFORM PROCESS_INCLUDES_DL.
ENDIF.
ENDIF.
Program list from selection criteria i.e excluding INCLUDES found
LOOP AT I_PROG.
MOVE I_PROG-NAME TO R1-NAME.
APPEND R1.
DESCRIBE TABLE R1 LINES I.
WHILE I NE 0.
PERFORM EXECUTE-FUNCTION.
ENDWHILE.
REFRESH R1.
ENDLOOP.
We need to check now for INCLUDES on DOWNLOAD when the INCLUDE
program itself is of type I. In this case the function call
will not return the INCLUDES. For example we could be
downloading ZTESTTOP (an Include itself) which as an include
ZTEST01.
The process fortunately is the same as the UPLOAD function
except of course we need to read the library instead of the
DOS directory
process INCLUDE modules for Upload
On upload the procedure is more complex as Includes within
Includes can only be resolved by scanning the code and
searching if the program exists in the directory.
To get all INCLUDES within INCLUDES entries in table I_INCL
that do not exist in I_INCLUDE are copied to table I_INCLUDE
after each entire pass of table i_INCLUDE and table is then
re-looped through. Programs in table I_INCLUDE that have already
been processed have a "Y" indicator set in I_INCLUDE-AVAIL.
if func = 'U'.
IF INCLUDES = 'Y'.
DESCRIBE TABLE I_INCL LINES I.
IF I > 0.
W_ITERATE = 'Y'.
ELSE.
W_ITERATE = ' '.
ENDIF.
WHILE W_ITERATE = 'Y'.
PERFORM PROCESS_INCLUDES_UL.
PERFORM LOOP_THROUGH.
DESCRIBE TABLE I_INCL LINES I.
IF I > 0.
W_ITERATE = 'Y'.
ELSE.
W_ITERATE = ' '.
ENDIF.
ENDWHILE.
endif.
ENDIF.
DESCRIBE TABLE I_INCLUDE LINES I.
IF I > 0.
SKIP 1.
WRITE: / ' Included Programs found'.
SKIP 1.
LOOP AT I_INCLUDE.
WRITE I_INCLUDE-NAME TO LINE(40).
CONDENSE LINE.
WRITE: / LINE(80).
ENDLOOP.
ENDIF.
/ Table R contains ABAP names to up / download. */
/ Loop through table R and perform up / download */
/ for each program. */
/ Table R1 contains INCLUDE names found (if any) */
/ As each */
FORM EXECUTE-FUNCTION.
LOOP AT R1.
MOVE-CORRESPONDING R1 TO R.
APPEND R.
ENDLOOP.
REFRESH R1.
LOOP AT R.
REFRESH : T, E1, H1, F1, S, U.
PERFORM PROCESS.
MOVE 'N' TO MAIN.
ENDLOOP.
REFRESH R.
DESCRIBE TABLE R1 LINES I.
ENDFORM.
/ Build file names for UP/DOWNLOAD */
/ 3 files are generated per ABAP. */
/ 1) ABAP Path\PROGNAME.EEE (ABAP, Attr,Texts) */
/ Logic Path\PROGNAME.EEE (Dynpro Source Logic) */
/ CUA Path\PROGNAME.EEE (CUA components - keys etc) */
/ 2) Header Path\PROGNAME.HHH (Dynpro Header) */
/ 3) Fields Path\PROGNAME.FFF (Dynpro Field definitions )*/
/ ( If alternate file name specified -DSNAME- this will */
/ be used instead. This is only valid for the main program. */
/ INCLUDED programs will have file names as specified */
/ above). */
/ By using this scheme it saves the user from having to */
/ be prompted for 3 file names. */
/ If you want multiple copies / versions on disk either */
/ rename the old versions or specify a different directory in */
/ the path parameter. */
FORM PROCESS.
MOVE PATH TO FN1.
CASE MAIN.
WHEN 'Y'.
IF DSNAME NE SPACE.
WRITE DSNAME TO FN1+66. "rel 4
ELSE.
WRITE R-NAME TO FN1+66. "rel 4
ENDIF.
WHEN OTHERS.
WRITE R-NAME TO FN1+66. "rel 4
ENDCASE.
MOVE FN1 TO FN2.
MOVE FN1 TO FN3.
WRITE '.HHH' TO FN1+124(4). "rel 4
WRITE '.FFF' TO FN2+124(4). "rel 4
WRITE '.EEE' TO FN3+124(4). "rel 4
CONDENSE FN1 NO-GAPS.
CONDENSE FN2 NO-GAPS.
CONDENSE FN3 NO-GAPS.
NAME = R-NAME.
CASE FUNC.
WHEN 'D'.
PERFORM DOWNLOAD_OBJECTS.
CLEAR LINE.
WRITE : 'ABAP : ' TO LINE.
WRITE R-NAME TO LINE+8.
WRITE 'has been unloaded' TO LINE+55.
CONDENSE LINE.
WRITE: / LINE.
DESCRIBE TABLE T LINES I.
IF I = 0.
WRITE: / 'No Dynpros were found for unload function'.
ELSE.
WRITE: / 'The following Dynpros have been unloaded : '.
PERFORM LOOP_THROUGH_T.
ENDIF.
WHEN 'U'.
PERFORM UPLOAD_OBJECTS.
DESCRIBE TABLE T LINES I.
CASE I.
WHEN 0.
WRITE: / 'No Dynpros were found for restore function'.
WHEN OTHERS.
WRITE: / 'The following Dynpros have been restored : '.
PERFORM LOOP_THROUGH_T.
ENDCASE.
IF MAIN EQ 'Y'.
CASE OLDNAME.
WHEN SPACE.
CLEAR LINE.
WRITE : 'ABAP : ' TO LINE.
WRITE R-NAME TO LINE+8.
WRITE 'has been restored' TO LINE+55.
CONDENSE LINE.
WRITE: / LINE.
WHEN OTHERS.
CLEAR LINE.
WRITE : 'ABAP : ' TO LINE.
WRITE R-NAME TO LINE+8.
WRITE 'has been restored - original name :'
TO LINE+55.
WRITE OLDNAME TO LINE+92.
CONDENSE LINE.
WRITE: / LINE.
ENDCASE.
ELSE.
CLEAR LINE.
WRITE : 'ABAP : ' TO LINE.
WRITE R-NAME TO LINE+8.
WRITE 'has been restored' TO LINE+55.
CONDENSE LINE.
WRITE: / LINE.
ENDIF.
ENDCASE.
ENDFORM.
/ print progname + dynpro nrs that have been processed. */
FORM LOOP_THROUGH_T.
LOOP AT T.
CLEAR LINE.
WRITE R-NAME TO LINE.
WRITE T-NUMBER TO LINE+50.
CONDENSE LINE.
WRITE: / LINE.
ENDLOOP.
ENDFORM.
/ Download Objects */
FORM DOWNLOAD_OBJECTS.
PERFORM UNLOAD_ABAP. "ABAP source, texts, attr
SELECT SINGLE * FROM TRDIR
WHERE NAME EQ R-NAME.
IF TRDIR-SUBC = 'I'.
CASE INCLUDES. "Included file wanted
WHEN 'Y'.
PERFORM SCAN4-INCLUDES.
ENDCASE.
ENDIF.
PERFORM UNLOAD_CUA. "CUA stuff
PERFORM DOWNLOAD_DATA. "Download EEE file to PC
PERFORM BUILD_T. "Build table of all dynpros in ABAP
DESCRIBE TABLE T LINES I.
CASE I.
WHEN 0. "if no dynpros exist then cannot download any
PERFORM DOWNLOAD_DATA. "Download EEE file to PC
WHEN OTHERS.
PERFORM UNLOAD_DYNPROS. "Get Raw dynpros from SAP
PERFORM UNLOAD_DYNPRO_COMPONENTS."Convert to table
PERFORM DOWNLOAD_DATA. "Download ABAP etc. to PC
PERFORM DOWNLOAD_BIN_H1. "Download dynpro header
PERFORM DOWNLOAD_BIN_F1. "Download dynpro fields
ENDCASE.
ENDFORM.
/ Split ABAP up into its component parts */
/ A) Program source (72) */
/ B) Texts (132) */
/ C) Attributes (117) */
/ D) CUA stuff (Various) */
FORM UNLOAD_ABAP.
/ Get ABAP language. Only required on download. */
SELECT SINGLE * FROM TRDIR
WHERE NAME EQ R-NAME.
MOVE TRDIR-RLOAD TO R-LANGUAGE.
READ REPORT R-NAME INTO S. "Get source into table S
MOVE '????SRCE' TO S-TXT.
INSERT S INDEX 1.
/ Text elements, Numbered texts, headings, selection texts */
/ Read text elements with logon language. If they don't */
/ exist read with the value taken from TRDIR. */
READ TEXTPOOL R-NAME INTO U LANGUAGE SY-LANGU.
IF SY-SUBRC NE 0.
READ TEXTPOOL R-NAME INTO U LANGUAGE R-LANGUAGE.
ENDIF.
DESCRIBE TABLE U LINES I.
CASE I.
WHEN 0.
WHEN OTHERS.
MOVE '????TEXT' TO S-TXT.
APPEND S.
LOOP AT U.
MOVE U-TXT TO S-TXT.
APPEND S.
DELETE U.
ENDLOOP.
ENDCASE.
/ Retrieve Attributes from TRDIR and add to table S */
/ Change language to logged on language */
MOVE '????ATTR' TO S-TXT.
APPEND S.
SELECT SINGLE * FROM TRDIR
WHERE NAME EQ R-NAME.
MOVE SY-LANGU TO TRDIR-RLOAD.
MOVE-CORRESPONDING TRDIR TO DIR.
MOVE DIR TO S-TXT.
APPEND S.
ENDFORM.
/ retrieve CUA stuff and append to table S. */
FORM UNLOAD_CUA.
MOVE R-NAME TO EU_KEY-NAME. "Program name for CUA
MOVE 'D' TO EU_KEY-SPRSL. "CUA seems to want D as lang
MOVE R-LANGUAGE TO EU_KEY-SPRSL. "Language "rel 2.2
IMPORT STA FUN MEN MTX ACT BUT PFK SET LAST INC STX DOC "rel 2.2
IMPORT STA STX FUN MEN MTX ACT BUT PFK SET LAST INC DOC "rel 3.0
ATT FDN MDN SYM FIN "rel 3.0
FROM DATABASE EUDB(CU) ID EU_KEY.
IF SY-SUBRC NE 0. "No statuses
EXIT.
ENDIF.
read titles in logged on language. If not present use
language from TRDIR.
CASE REL3.
WHEN SPACE. "(rel 4)
SELECT * FROM RSMPTEXTS WHERE PROGNAME EQ R-NAME
AND SPRSL = SY-LANGU.
MOVE-CORRESPONDING RSMPTEXTS TO FTX.
APPEND FTX.
ENDSELECT.
IF SY-SUBRC NE 0.
SELECT * FROM RSMPTEXTS WHERE PROGNAME EQ R-NAME
AND SPRSL = R-LANGUAGE.
MOVE-CORRESPONDING RSMPTEXTS TO FTX.
APPEND FTX.
ENDSELECT.
ENDIF.
DESCRIBE TABLE FTX LINES I.
IF I > 0.
MOVE '????FTXT' TO S-TXT.
APPEND S.
LOOP AT FTX.
MOVE FTX TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
WHEN OTHERS.
SELECT * FROM TITLE WHERE PROGNAME EQ R-NAME
AND DDLANGUAGE EQ SY-LANGU.
MOVE-CORRESPONDING TITLE TO TIT.
APPEND TIT.
ENDSELECT.
IF SY-SUBRC NE 0.
SELECT * FROM TITLE WHERE PROGNAME EQ R-NAME
AND DDLANGUAGE EQ R-LANGUAGE.
MOVE-CORRESPONDING TITLE TO TIT.
APPEND TIT.
ENDSELECT.
ENDIF.
ENDCASE.
DESCRIBE TABLE STA LINES I.
IF I > 0.
MOVE '????STAT' TO S-TXT.
APPEND S.
LOOP AT STA.
MOVE STA TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE FUN LINES I.
IF I > 0.
MOVE '????FUNC' TO S-TXT.
APPEND S.
LOOP AT FUN.
MOVE FUN TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE MEN LINES I.
IF I > 0.
MOVE '????MEN1' TO S-TXT.
APPEND S.
LOOP AT MEN.
MOVE MEN TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE MTX LINES I.
IF I > 0.
MOVE '????MTX1' TO S-TXT.
APPEND S.
LOOP AT MTX.
MOVE MTX TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE ACT LINES I.
IF I > 0.
MOVE '????ACTN' TO S-TXT.
APPEND S.
LOOP AT ACT.
MOVE ACT TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE BUT LINES I.
IF I > 0.
MOVE '????BUTN' TO S-TXT.
APPEND S.
LOOP AT BUT.
MOVE BUT TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE PFK LINES I.
IF I > 0.
MOVE '????PFKY' TO S-TXT.
APPEND S.
LOOP AT PFK.
MOVE PFK TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE SET LINES I.
IF I > 0.
MOVE '????SETS' TO S-TXT.
APPEND S.
LOOP AT SET.
MOVE SET TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
IF LAST NE SPACE.
MOVE '????LIST' TO S-TXT.
APPEND S.
MOVE LAST TO S-TXT.
APPEND S.
ENDIF.
DESCRIBE TABLE INC LINES I.
IF I > 0.
MOVE '????INCL' TO S-TXT.
APPEND S.
LOOP AT INC.
MOVE INC TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE STX LINES I.
IF I > 0.
MOVE '????STXT' TO S-TXT.
APPEND S.
LOOP AT STX.
MOVE STX TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE DOC LINES I.
IF I > 0.
MOVE '????DOCN' TO S-TXT.
APPEND S.
LOOP AT DOC.
MOVE DOC TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE TIT LINES I.
IF I > 0.
MOVE '????TITL' TO S-TXT.
APPEND S.
LOOP AT TIT.
MOVE TIT TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
Next 5 tables are rel 3.0 specific (ATT, FDN, MDN, SYM, FIN)
DESCRIBE TABLE ATT LINES I.
IF I > 0.
MOVE '????VATT' TO S-TXT.
APPEND S.
LOOP AT ATT.
MOVE ATT TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE FDN LINES I.
IF I > 0.
MOVE '????VFDN' TO S-TXT.
APPEND S.
LOOP AT FDN.
MOVE FDN TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE MDN LINES I.
IF I > 0.
MOVE '????VMDN' TO S-TXT.
APPEND S.
LOOP AT MDN.
MOVE MDN TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE SYM LINES I.
IF I > 0.
MOVE '????VSYM' TO S-TXT.
APPEND S.
LOOP AT SYM.
MOVE SYM TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF.
DESCRIBE TABLE FIN LINES I.
IF I > 0.
MOVE '????VFIN' TO S-TXT.
APPEND S.
LOOP AT FIN.
MOVE FIN TO S-TXT.
APPEND S.
ENDLOOP.
ENDIF. -
CSOM code in C # to download and upload multiple files from/to sharepoint library
Hi All,
Please help me I want to first download all my files from sharepoint library to my local folder using CSOM code .
Once downloading is completed I want to upload those files in another library .
I have done same thing using web services but need to do by CSOM now.
Thanks please provide code of peice
sudhanshu sharma Do good and cast it into river :)By using below code I am downloading multiple documents and uploading same doc to sharepoint while uploading i want to updat emetadata of source library to destination library ..
I am able to do so but want to do now for dateandTime+metadata column as well please can you check my approach and let me know tht how to do for such kind of columns-
FileProperty.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ST_9569f2fe51bd4137bb31c38b3d46455d
class FileProperty
public string Title; //single line of text
public string Description; //Multiple line of text
public string DocumentType; //choice type
public string DocumentCategory; //Choice type
public string DocumentNumber; //Single line of text
// public string DocumentStatus; //Choice
public string DocumentTitle; //single line of text
// public string CrossReference; //Multipleline type
//public DateTime PublishDate; //DateAndTime Type column
/// <summary>
/// Get the SP Document Column internal name and thier respective values
/// in key -value pair.
/// </summary>
/// <returns>The List of KeyValuePair</returns>
public List<KeyValuePair<string, string>> getColumnKeyValueListProducts()
{//Target Columns
List<KeyValuePair<string, string>> columnKeyValuePairList = new List<KeyValuePair<string, string>>();
columnKeyValuePairList.Add(new KeyValuePair<string, string>("Title", Title));
columnKeyValuePairList.Add(new KeyValuePair<string, string>("Description0", Description));
columnKeyValuePairList.Add(new KeyValuePair<string, string>("Document_x0020_Type", DocumentType));
columnKeyValuePairList.Add(new KeyValuePair<string, string>("Document_x0020_Category", DocumentCategory));
columnKeyValuePairList.Add(new KeyValuePair<string, string>("Document_x0020_Number", DocumentNumber));
//columnKeyValuePairList.Add(new KeyValuePair<string, string>("Document_x0020_Status", DocumentStatus));
columnKeyValuePairList.Add(new KeyValuePair<string, string>("Document_x0020_Title", DocumentTitle));
//columnKeyValuePairList.Add(new KeyValuePair<string, string>("Cross%5Fx0020%5FReference", CrossReference));
// columnKeyValuePairList.Add(new KeyValuePair<string, string>("Publish_x0020_Date", PublishDate));
return columnKeyValuePairList;
/* public List<KeyValuePair<string, DateTime>> getColumnKeyValueListProductsforDatenTime()
//Target Columns
List<KeyValuePair<string, DateTime>> columnKeyValuePairListdt = new List<KeyValuePair<string, DateTime>>();
columnKeyValuePairListdt.Add(new KeyValuePair<string, DateTime>("Publish_x0020_Date", PublishDate));
return columnKeyValuePairListdt;
#region Help: Introduction to the script task
/* The Script Task allows you to perform virtually any operation that can be accomplished in
* a .Net application within the context of an Integration Services control flow.
* Expand the other regions which have "Help" prefixes for examples of specific ways to use
* Integration Services features within this script task. */
#endregion
#region Namespaces
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using Microsoft.SharePoint.Client;
using System.IO;
using System.Net;
using System.Collections.Generic;
//using System.IO;
#endregion
namespace ST_9569f2fe51bd4137bb31c38b3d46455d
/// <summary>
/// ScriptMain is the entry point class of the script. Do not change the name, attributes,
/// or parent of this class.
/// </summary>
[Microsoft.SqlServer.Dts.Tasks.ScriptTask.SSISScriptTaskEntryPointAttribute]
public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
#region Help: Using Integration Services variables and parameters in a script
/* To use a variable in this script, first ensure that the variable has been added to
* either the list contained in the ReadOnlyVariables property or the list contained in
* the ReadWriteVariables property of this script task, according to whether or not your
* code needs to write to the variable. To add the variable, save this script, close this instance of
* Visual Studio, and update the ReadOnlyVariables and
* ReadWriteVariables properties in the Script Transformation Editor window.
* To use a parameter in this script, follow the same steps. Parameters are always read-only.
* Example of reading from a variable:
* DateTime startTime = (DateTime) Dts.Variables["System::StartTime"].Value;
* Example of writing to a variable:
* Dts.Variables["User::myStringVariable"].Value = "new value";
* Example of reading from a package parameter:
* int batchId = (int) Dts.Variables["$Package::batchId"].Value;
* Example of reading from a project parameter:
* int batchId = (int) Dts.Variables["$Project::batchId"].Value;
* Example of reading from a sensitive project parameter:
* int batchId = (int) Dts.Variables["$Project::batchId"].GetSensitiveValue();
#endregion
#region Help: Firing Integration Services events from a script
/* This script task can fire events for logging purposes.
* Example of firing an error event:
* Dts.Events.FireError(18, "Process Values", "Bad value", "", 0);
* Example of firing an information event:
* Dts.Events.FireInformation(3, "Process Values", "Processing has started", "", 0, ref fireAgain)
* Example of firing a warning event:
* Dts.Events.FireWarning(14, "Process Values", "No values received for input", "", 0);
#endregion
#region Help: Using Integration Services connection managers in a script
/* Some types of connection managers can be used in this script task. See the topic
* "Working with Connection Managers Programatically" for details.
* Example of using an ADO.Net connection manager:
* object rawConnection = Dts.Connections["Sales DB"].AcquireConnection(Dts.Transaction);
* SqlConnection myADONETConnection = (SqlConnection)rawConnection;
* //Use the connection in some code here, then release the connection
* Dts.Connections["Sales DB"].ReleaseConnection(rawConnection);
* Example of using a File connection manager
* object rawConnection = Dts.Connections["Prices.zip"].AcquireConnection(Dts.Transaction);
* string filePath = (string)rawConnection;
* //Use the connection in some code here, then release the connection
* Dts.Connections["Prices.zip"].ReleaseConnection(rawConnection);
#endregion
/// <summary>
/// This method is called when this script task executes in the control flow.
/// Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
/// To open Help, press F1.
/// </summary>
public void Main()
// TODO: Add your code here
//Unpublished lib used to download files from sharepoint to local and Published library for uploading files from local to sharepoint
//var srcFolderUrl = "http://ui3dats011x:2015/sites/techunits/UnPublished%20Doc/Forms/AllItems.aspx";
//var destFolderUrl = "http://ui3dats011x:2015/sites/techunits/Published%20Documents/Forms/AllItems.aspx";
using (var ctx = new ClientContext("http://ui3dats011x:2015/sites/techunits/"))
try
List LibraryName = ctx.Web.Lists.GetByTitle("Unpublished Doc");
List LibraryName1 = ctx.Web.Lists.GetByTitle("Published Documents");
ctx.Load(LibraryName1.RootFolder);
ctx.Load(LibraryName);
ctx.ExecuteQuery();
CamlQuery camlQuery = new CamlQuery();
//Used this caml query for filtering
camlQuery.ViewXml = @"<View><Query><Where><Eq><FieldRef Name='Document_x0020_Type'/><Value Type='Choice'>Technical Unit</Value></Eq></Where></Query></View>";
Microsoft.SharePoint.Client.ListItemCollection listItems = LibraryName.GetItems(camlQuery);
ctx.Load<Microsoft.SharePoint.Client.ListItemCollection>(listItems);
ctx.ExecuteQuery();
string filename;
FileInformation fileInfo;
System.IO.FileStream outputStream;
Dictionary<string, string> itemmetadata = new Dictionary<string, string>();
foreach (var item in listItems)
if (itemmetadata.Count > 0)
itemmetadata.Clear();
ctx.Load(item);
ctx.ExecuteQuery();
ctx.Load(item.File);
ctx.ExecuteQuery();
filename = item.File.Name;
foreach (KeyValuePair<string, object> metaval in item.FieldValues.)
string metavalue = Convert.ToString(metaval.Value);
//if(String.IsNullOrEmpty(metaval.Value.ToString()))
if (!(String.IsNullOrEmpty(metavalue)))
itemmetadata.Add(metaval.Key, metaval.Value.ToString());
else
itemmetadata.Add(metaval.Key, "");
fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(ctx, item.File.ServerRelativeUrl.ToString());
outputStream = new FileStream(@"C:\Users\jainruc\Desktop\Sudhanshu\ComDownload\" + filename, FileMode.Create, FileAccess.Write);
fileInfo.Stream.CopyTo(outputStream);
outputStream.Dispose();
outputStream.Close();
//Uploading
string srcpath = @"C:\Users\jainruc\Desktop\Sudhanshu\ComDownload\";
string siteName = @"http://ui3dats011x:2015/sites/techunits/";
string docLibraryName = @"http://ui3dats011x:2015/sites/techunits/Published%20Documents/Forms/AllItems.aspx";
UploadFile(srcpath, siteName, docLibraryName, itemmetadata,filename);
}//End of try
catch (Exception ex)
Dts.TaskResult = (int)ScriptResults.Success;
public void UploadFile(string srcpath, string siteName, string docLibraryName,Dictionary<string,string> metavalue,string filename)
using (ClientContext ctx = new ClientContext("http://ui3dats011x:2015/sites/techunits/"))
try
List LibraryName1 = ctx.Web.Lists.GetByTitle("Published Documents");
ctx.Load(LibraryName1.RootFolder);
ctx.Load(LibraryName1);
ctx.ExecuteQuery();
ctx.Credentials = new NetworkCredential("jainfgfgh", "Pashg8878", "mydomain");
//Loop for getting all files one by one
using (var fs = new FileStream(String.Concat(srcpath,"/",filename), FileMode.OpenOrCreate))
string fileUrl = String.Format("{0}/{1}", LibraryName1.RootFolder.ServerRelativeUrl, filename);
Microsoft.SharePoint.Client.File.SaveBinaryDirect(ctx, fileUrl, fs, true);
UpdateMetadata(fileUrl,ctx,metavalue);
//End of looping
}//End of try block
catch (Exception ex)
}//End of Using
}//End of function
public void UpdateMetadata(string uploadedfileurl,ClientContext ctx,Dictionary<string,string> mvalue)
Microsoft.SharePoint.Client.File uploadedfile = ctx.Web.GetFileByServerRelativeUrl(uploadedfileurl);
//create an object of the class holding all the properties of the document
ctx.Load(uploadedfile);
ctx.ExecuteQuery();
FileProperty fileProperty = new FileProperty();
fileProperty.Description = mvalue["Description0"];
fileProperty.Title = mvalue["Title"];
fileProperty.DocumentType = mvalue["Document_x0020_Type"];
fileProperty.DocumentCategory = mvalue["DocumentCategory"];
fileProperty.DocumentNumber = mvalue["DocumentNumber"];
fileProperty.DocumentTitle = mvalue["DocumentTitle"];
//fileProperty.PublishDate = Convert.ToDateTime(mvalue["PublishDate"]);
// fileProperty.DocumentStatus = mvalue["DocumentStatus"];
List<KeyValuePair<string, string>> columnKeyValueList;
//create a list of item need to be updated or added to sharepoint library
List<FileProperty> propertyList = new List<FileProperty>();
propertyList.Add(fileProperty);
columnKeyValueList = fileProperty.getColumnKeyValueListProducts();
ListItem item = uploadedfile.ListItemAllFields;
foreach (KeyValuePair<string, string> metadataitem in columnKeyValueList)
item[metadataitem.Key.ToString()] = metadataitem.Value.ToString();
//item["Title"] = uploadedfile.Title;
item.Update();
ctx.Load(item);
ctx.ExecuteQuery();
#region ScriptResults declaration
/// <summary>
/// This enum provides a convenient shorthand within the scope of this class for setting the
/// result of the script.
/// This code was generated automatically.
/// </summary>
enum ScriptResults
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
#endregion
sudhanshu sharma Do good and cast it into river :) -
Hello All,
We have a few Power View reports and respective BISM connections that need to be migrated from our DEV SharePoint 2013 site to our TEST Sharepoint 2013 site. The reports have been "migrated" over but they do not work. Eventually, I just recreated
all the Power View reports from the BISM connections.
We have to do one more Sharepoint migration, and I'd rather not have to recreate the reports. What do we need to do in order to migrate the Power View reports seamlessly?
Thanks,
CarterI created a new BISM in the new SharePoint site with the same name and modified the cinneciton string in the report and uploaded the PowerView Reports ( download from the existing SP site ).
Please see the below link to modify the connection string in the PowerView report.
https://pivotstreamllc.zendesk.com/hc/en-us/articles/202123933-Editing-a-Power-View-Connection-String -
Digital movie download - can I move it from one iTunes file to another?
I have gotten several new Blu-ray and DVD sets for Christmas. Included is a digital copy which can be downloaded. Once I download and move it to iTunes, can I export that from one iTunes file on my Mac to another Mac which I own? I haven't been able to find a relevant post.
CWmain, this is something I'm keen to know too. I've got the new Star Trek and Transformers 2 Blu-ray discs with digital copies. I was hoping I could download the movies to my Mac Pro by redeeming the codes supplied with the discs and once downloaded just copy the resulting download files across to my MacBook Pro. I'm hoping that because both machines are authorised with my iTunes account it should just 'work'. Can anyone confirm this is correct before I go ahead?
-
How to download and upload a document from/to UCM?
Hi Folks,
I am trying to find any information related to UCM regarding how to upload a file to UCM and how to download a file from UCM through WebCenter11g. Any suggestions will be appreciated.
thanks
new to ADFI Hope you want to upload documents via your ADF Application??
If yes , then use RIDC
PFB a useful link
Andrejus Baranovskis's Blog: Oracle UCM 11g Remote Intradoc Client (RIDC) Integration with Oracle ADF 11g -
Can i migrate my files and programs from one mac book to another
I have 2 macbook pros 13.3 april 2010 release
one has a 250gb drive and the other 500gb
both are running lion - after upgrading from snow leopard
I have al my adobe creative suite and mac office on the machine with 250gb hard drive - i want to transfer all my files and applications including adobe and mac office to the 500gb machine - can this be done via migration assistant? are there things i need to check etc before doing this
i am assuming the 250gb will be empty afterwards- i am not expecting to have 2 copies of the files and applications
Thanks for taking a look at my questionYou can do that through Migration Assistant without any problem. See > http://support.apple.com/kb/HT4889
There are different ways to connect both Macs in order to transfer the files. As both computers have got FireWire, I recommend you to buy a FireWire cable, connect it to both computers and run Migration Assistant. Doing this, the transfer will be faster and much reliable than with Ethernet or Wi-Fi. Also, check > http://pondini.org/OSX/MigrateLion.html -
How can I drag and drop an item from one Tree control to another in LabVIEW 7.1?
You can use the mouse up and down event on the two tree controls but the problem is making the correct selection in the second tree control. I want to be able to switch over to the selection bar of the second tree control so that I can place my item in the correct position. I know all possible workarounds with double-clicks and so on... but I really want a windows drag and drop.
This is what I have for the moment. Please check the library below. I need to activate the selection bar of the second tree control somehow to get the position in the control. The VI below is written in LV 7.1
Attachments:
Drag&Drop.llb 65 KBHi Jones,
As far as I know this feature is currently not supported by the Tree control. A workaround, would be to use the vertical position of the mouse in the button up event to determine what line you�re dropping the item.
If you would like the Tree control to include the drag and drop feature, please submit this as a Product Suggestion under the feedback at www.ni.com/contact.
Good luck!
Best regards,
Philip C.
Applications Engineer
National Instruments
www.ni.com/ask
- Philip Courtois, Thinkbot Solutions -
hi,
how to download and upload structure from one r/3 to another r/3 system .
<b><REMOVED BY MODERATOR></b>
regards,
anuj
Message was edited by:
Alvaro Tejada GalindoCheck my weblog...It might help you out -;)
<a href="/people/alvaro.tejadagalindo/blog/2006/03/14/taking-good-care-of-z-tables good care of Z tables</a>
Greetings,
Blag. -
My MBA keep downloading and uploading with no obvious reason?
Here is a link to the original post https://discussions.apple.com/thread/3015185
I will go crazy over this one! The problem started almost 10 days ago .
My Mac Book air keeps downloading and uploading KBs ranging from 2 KBsto 30 KBs Ups and Downs (see the attachment please ).
I'm living currently in Amman/Jordan and using Orange 3G+ USB dongle and InternetEverywhere software to connect (check the screen shot).
I also installed Protemac and there was no app I tracked which was the reasonbehind the constant download/upload during idle time .
I did everything; formatted and clean installed Os X , installed antivirus(nothing found ),checked the USB dongle with Windows 7 operating system and tomy surprise everything is fine .
I tried to reinstall the driver many times from http://www.orange.jo/en/software.php and again nothing has changed the same behavior again !
I called Orange tech support and they said if there is no problem with Windows 7 there is nothing that we can do .
What I have noticed is that when I connect to internet the Orange software only downoald 11 KBs and then stopped ,the preoblem start when I open a page on firefox or Safari and then after seconds the activity monitor start to regestier upload and downalod activity (both ways) ranging from 3 KBs ups and 3 KBs downn to 25 KBs Ups and 25 KBs down , this is just like a loop activity .
Should I leave this problem to eat all my bandwidth threshold ,is their something wrong with my MBA ( I hope not )
Please help me with this .Here is a snap shot of CPA - Cocoa Packet Analyzer,the thing is that I don't know how to translate the packets being sent or received
Maybe you are looking for
-
How Can I Tell if My iPad Air Replacement is New or Refurbished
I'm getting a replacement iPad Air because mine had a problem with it, there were loose magnets in it. I've heard that people have another person's data on apps they have just downloaded and that makes me really uncomfortable. How can I tell if my re
-
When I apply redaction, a white line partially appears around redacted area
I'm hoping you can help me figure out an issue. I created a redaction action wizard in Pro X (Windows 7 Ultimate) to change the name of the month for 280+ client reports. I use a new copy of the master file each month (the month always being redacted
-
Audio noise when using VGA firewire
I am using a MBP 2010, purchased in August. I am running ProTools and AbletonLive out to speakers through firewire via M-Audio Firewire 410 and/or through the Digi002 Mixer. I have an external firewire hard drive that I have turned off during this
-
AP Layers (divs)...
Hi, I'm just getting comfortable with the concept of using DIVS vs. tables. I just watched a tutorial on YouTube in which a developer used AP Layers to create all his div tags, in DW CS3. (absolute placement layers) I'd like to know what you think of
-
Hello, I have a question that until now, no one was able to give me a definite answer. In my home I have a computer network consisting of 2 computers linked by LAN and the main desktop computer situated in a concrete-built room. The computer is conne