DBIF_REPO_SQL_ERROR with archive write program FI_DOCUMNT_WRI
Hello community,
we have a problem with the archive write program FI_DOCUMNT_WRI, it generates DBIF_REPO_SQL_ERROR on the table REPOSRC. We get a lot of dumps DBIF_REPO_SQL_ERROR, SQL-Error -913, ERROR: UNSUCCESSFUL EXECUTION CAUSED BY DEADLOCK OR TIMEOUT. The dumps shows the error in FORM badi_write resp. get %_badi-implementations proxy of the method get_instance. We use the FI_DOCUMNT_WRI program in 50 times parallel mode. The syslog shows error at select access on report source table REPOSRC in the kernel object package SBAC. The statement cache shows only valid SQL statements. Our database expert means these are timeout errors and the reason is the high number of the parallelism. The database is DB2 9.1.5 with SAP ECC 6.0. Does somebody knows this problem or in a similar way?
Thanks for tips and hints.
Cheers
Stefan
Edited by: Stefan Schnell on Sep 14, 2010 4:19 PM
Hello community,
after running RUNSTATS the problem exists no longer.
Thanks and cheers
Stefan
Similar Messages
-
Hi,
I have a requirement that whenever a user runs Archive write program( Let say FI_DOCUMNT_WRI for object FI_DOCUMNT ) , I need to populate the current session number genrated and some fields of TOA01 into my custom table.
Kindly let me know the procedure if any one has worked on similar requirement.
Thanks
RajneeshHi Rajneesh,
What's the structure of ur z-table.
Once u run archive processs, u can simply insert the values into ur z-table:
Z_table-session = sessionID.
Z_table-date = SY-DATUM.
INSERT INTO Z_table VALUES Z_table.
thanks\
Mahesh -
RSEXARCD: Idoc archiving deletion program issues
Hi,
I have two queries:
1. The Idoc archive deletion program, RSEXARCD, when executed in background, terminates when there are no archive files to process (as seen in SARA). How can we prevent this? Our deletion jobs are scheduled weekly, but sometimes there are no archive files created from the archive write program RSEXARCA.
2. Secondly, how can we process multiple archive files using this program RSEXARCD in background? Currently, it processes only one archive file at a time and takes up the oldest unprocessed archive file. Also, would like to know how it gets this information of the oldest unprocessed archive file?
Thanks.if a program terminates, then you should look into the dump to see the root cause and follow the instructions. e.g. search for OSS notes with the metioned terms
I just searched with the terms "archiving idocs termination" and found 12 notes with program fixes.
Further, the program names you mentioned are not the most recent programs.
Have a look into OSS note Note 582828 - IDoc archiving: Standardization
maybe you will not have your problems anymore if you use the new programs -
Archiving - Permission denied - cannot be open write program
Hi, Gurus
I executed a write program (SARA) and the result is partialy ok , as you can see below ( the job log and spool.)
Questions:
1.- there is not an archive file in C?
2.- Permission denied --> Message BA161
I checked object config,file and logical path and everything seems tobe ok.
Anyone cant help on this?
Thanks
Job log:
Job started
Step 001 started (program MMREO050N, variant ZMM_001,
Archiving session 000009 is being created
Start of data processing
Operating system message: Permission denied
1 of 1 materials ( 100 %) processed
Job finished
Job spool:
MARD: 1000 2000 material master record was archived
MARC: 1000 long text(s) archived
MARC: 1000 material master record was archived
MAKT: E material master record was archived
MARM: ST material master record was archived
MLAN: ES material master record was archived
MARA: change documents archived
MARA: change documents archived
MARA: long text(s) archived
MARA: class assignments archived
MARA: material master record was archived
Archive file C:\MM_MM_MATNR_20100316_210452_0.ARCHIVE cannot be opened for write programDear,
Either the file deleted from its physical location on drive C [OR] you dont have authorizations to write into the file (check with SU53 for any missing object for the user).
Also check: Re: error while archiving the material master
http://help.sap.com/saphelp_45B/helpdata/en/7e/c6c2ad98a711d2b429006094b9ea64/content.htm
Regards,
Syed Hussain. -
Archive file cannot be opened for write program
Hi All,
I am getting the error message "annot be opened for write program" in log view, when I am trying to write data into archive file using "write' function.
Please provide us the solution for this problem.Hello,
It must be due to missing authorization for the write operation.
Please inform the security consultant along with SU53 details.
Regards
Vijay Gajavalli -
Read Database before Archive : Program FI_DOCUMNT_WRI
Hi
I use the program : FI_DOCUMNT_WRI
to read the database before archeiving Data but there are some error message after exceute .I would like to know meaning or condition for this program
the error message is "Withholding tax life (455 days) not reached". Please help me to explain this error .
Thanks for your help.
WiboonHi Wiboon,
I believe you have not set the Residence Time and Retention time for FI documents.
Try increasing the days for Fi Documents Residence time so that the system considers the document for archiving.
Also go to FB99 and give the particular document number to find whether the document you are trying to archive is archivable.
Let me know if you want any help and reply if this works.
Regards,
Mallikarjuna G -
i have a problem with my mac i have too many archives and programs and i want to delete all files and start at the begin my mac with out do format
I do not recommend reformatting your harddrive and reloading your software. This is a Windows thing. On an older mac it may be difficult to find all your software again.
Best to have greater than 2gig of free space. Many posters to these forums state that you need much more free space: 5 gig to 10 gig or 10 percent of you hd size.
(0)
Be careful when deleting files. A lot of people have trashed their system when deleting things. Place things in trash. Reboot & run your applications. Empty trash.
Go after large files that you have created & know what they are. Do not delete small files that are in a folder you do not know what the folder is for. Anything that is less than a megabyte is a small file these days.
(1)
Run
OmniDiskSweeper
"The simple, fast way to save disk space"
OmniDiskSweeper is now free!
http://www.omnigroup.com/applications/omnidisksweeper/download/
This will give you a list of files and folders sorted by size. Go after things you know that are big.
(2)
These pages have some hints on freeing up space:
http://thexlab.com/faqs/freeingspace.html
http://www.macmaps.com/diskfull.html
(3)
Buy an external firewire harddrive.
For a PPC computer, I recommend a firewire drive.
Has everything interface:
FireWire 800/400 + USB2, + eSATA 'Quad Interface'
save a little money interface:
FireWire 400 + USB 2.0
This web page lists both external harddrive types. You may need to scroll to the right to see both.
http://eshop.macsales.com/shop/firewire/1394/USB/EliteAL/eSATA_FW800_FW400_USB
(4)
Buy a flash card. -
Issues with Archiving object MM_EKKO
Hi,
I am trying to archive few Purchasing documents on R3 4.7, The archiving write job fails with the error
"There is no entry for instance 000000000096197571 in either INOB or IBase"
Please help.
Regards,
DeepakIf people need to look/work with archived data, then you need the infostructures, except you use the archive add-ons from PBS ( http://www.pbs-software.com/PBS-Startseite.1.0.html?&L=1 ) which allow you do see archive data by using the well-known SAP transactions, without the need of space-consuming SAP infostructures.
I try my best to avoid infostructures, means I archive data that is no needed for business, not needed to be looked up often. (developing infostructure or even programs to analyse data that was archived early is more expensiv than the costs of the disk space, at least in our branch)
But if an infostructure is given by SAP, then you can activate (fill it) or deactivate (delete content) within a few seconds with tiny effort. So I do it in rare cases if somebody needs to see archived data. -
CO_COSTCTR Archiving Write Job Fails
Hello,
The CO_COSTCTR archiving write job fails with the error messages below.
Input or output error in archive file \\HOST\archive\SID\CO_COSTCTR_201209110858
Message no. BA024
Diagnosis
An error has occurred when writing the archive file \\HOST\archive\SID\CO_COSTCTR_201209110858 in the file system. This can occur, for example, as the result of temporary network problems or of a lack of space in the fileing system.
The job logs do not indicate other possible causes. The OS and system logs don't have either. When I ran it in test mode it it finished successfully after long 8 hours. However, the error only happens during production mode where the system is generating the archive files. The weird thing, I do not have this issue with our QAS system (db copy from our Prod). I was able to archive successfully in our QAS using the same path name and logical name (we transport the settings).
Considering above, I am thinking of some system or OS related parameter that is unique or different from our QAS system. Parameter that is not saved in the database as our QAS is a db copy of our Prod system. This unique parameter could affect archiving write jobs (with read/write to file system).
I already checked the network session timeout settings (CMD > net server config) and the settings are the same between our QAS and Prod servers. No problems with disk space. The archive directory is a local shared folder \\HOST\archive\SID\<filename>. The HOST and SID are variables which are unique to each system. The difference is that our Prod server is HA configured (clustered) while our QAS is just standalone. It might have some other relevant settings I am not aware of. Has anyone encountered this before and was able to resolve it?
We're running SAP R3 4.7 by the way.
Thanks,
TonyHi Rod,
We tried a couple of times already. They all got cancelled due to the error above. As much as we wanted to trim down the variant, the CO_COSTCTR only accepts entire fiscal year. The data it has to go through is quite a lot and the test run took us more that 8 hours to complete. I have executed the same in our QAS without errors. This is why I am bit confused why in our Production system I am having this error. Aside that our QAS is refreshed from our PRD using DB copy, it can run the archive without any problems. So I made to think that there might be unique contributing factors or parameters, which are not saved in the database that affects the archiving. Our PRD is configured with High availability; the hostname is not actually the physical host but rather a virtual host of two clustered servers. But this was no concern with the other archiving objects; only in CO_COSTCTR it is giving us this error. QAS has archiving logs turned off if it’s relevant.
Archiving 2007 fiscal year cancels every after around 7200 seconds, while the 2008 fiscal year cancels early around 2500 seconds. I think that while the write program is going through the data in loops, by the time it needs to access back the archive file, the connection has been disconnected or timed out. And the reason why it cancels almost consistently after an amount of time is because of the variant, there is not much variety to trim down the data. The program is reading the same set of data objects. When it reaches to that one point of failure (after the expected time), it cancels out. If this is true, I may need to find where to extend that timeout or whatever it is that is causing above error.
Thanks for all your help. This is the best way I can describe it. Sorry for the long reply.
Tony -
Problem with direct input program while uploading data into database
TABLES: BGR00, " Mappensatz
BMM00, " MM01/MM02 BTCI-Kopfdaten
BMMH1, " MM01/MM02 Hauptdaten
BMMH2, " Länderdaten (Steuern)
BMMH3, " Prognosewerte
BMMH4, " Verbrauchswerte
BMMH5, " Kurztexte
BMMH6, " Mengeneinheiten
BMMH7, " Langtexte
BMMH8. " Referentielle EAN's
Satztypen
DATA: MAPPENSATZ LIKE BMM00-STYPE VALUE '0',
KOPFSATZ LIKE BMM00-STYPE VALUE '1',
HAUPTSATZ LIKE BMM00-STYPE VALUE '2',
KUN_SATZ LIKE BMM00-STYPE VALUE 'Z',
LANDSATZ LIKE BMM00-STYPE VALUE '3',
PROGSATZ LIKE BMM00-STYPE VALUE '4',
VERBSATZ LIKE BMM00-STYPE VALUE '5',
KTEXTSATZ LIKE BMM00-STYPE VALUE '6',
MESATZ LIKE BMM00-STYPE VALUE '7',
TEXTSATZ LIKE BMM00-STYPE VALUE '8',
EANSATZ LIKE BMM00-STYPE VALUE '9'.
Common Data Bereich fuer die extern aufgerufenen Routinen
Initialstrukturen
DATA: BEGIN OF COMMON PART RMMMBIMY.
DATA: BEGIN OF I_BMM00.
INCLUDE STRUCTURE BMM00. " Kopfdaten
DATA: END OF I_BMM00.
DATA: BEGIN OF I_BMMH1.
INCLUDE STRUCTURE BMMH1. " Haupdaten
DATA: END OF I_BMMH1.
DATA: BEGIN OF I_BMMH2.
INCLUDE STRUCTURE BMMH2. " Länderdaten
DATA: END OF I_BMMH2.
DATA: BEGIN OF I_BMMH3.
INCLUDE STRUCTURE BMMH3. " Prognosewerte
DATA: END OF I_BMMH3.
DATA: BEGIN OF I_BMMH4.
INCLUDE STRUCTURE BMMH4. " Verbrauchswerte
DATA: END OF I_BMMH4.
DATA: BEGIN OF I_BMMH5.
INCLUDE STRUCTURE BMMH5. " Kurztexte
DATA: END OF I_BMMH5.
DATA: BEGIN OF I_BMMH6.
INCLUDE STRUCTURE BMMH6. " Mengeneinheiten
DATA: END OF I_BMMH6.
DATA: BEGIN OF I_BMMH7.
INCLUDE STRUCTURE BMMH7. " Textzeilen
DATA: END OF I_BMMH7.
DATA: BEGIN OF I_BMMH8.
INCLUDE STRUCTURE BMMH8. " Referentielle EAN's
DATA: END OF I_BMMH8.
DATA: END OF COMMON PART.
DATA: WA LIKE TEDATA-DATA.
Einzelfelder
DATA: GROUP_COUNT(6) TYPE C, " Anzahl Mappen
TRANS_COUNT(6) TYPE C, " alte Definition für rmmmbim0
SATZ_COUNT LIKE MUEB_REST-TRANC, " Trans.zähler neu
H_IND_COUNT LIKE MUEB_REST-D_IND, " Index welches Feld zurücks.
SATZ2_COUNT(6) TYPE C. " Anz. Sätze je Trans. ohne Kopfsatz
DATA: XEOF(1) TYPE C, " X=End of File erreicht
XHAUPTSATZ_EXIST TYPE C, " X=Hauptsatz zum Kopf exi.
NODATA(1) TYPE C. " kein BI für dieses Feld
mk/15.08.94:
DATA: GROUP_OPEN(1) TYPE C. " X=Mappe schon geöffnet
*eject
Konstanten
DATA: C_NODATA(1) TYPE C VALUE '/'. " Default für NODATA
DATA: MATNR_ERW LIKE MARA-MATNR VALUE '0 '.
DATA: MATNR_ERW_INT LIKE MARA-MATNR. "internal sight of '0 '
DATA: MATNR_LAST LIKE MARA-MATNR. "Material number
mk/11.08.94 2.1H:
If this flag is initial, the database updates will be done directly
during background maintenance instead of using a separate update
task. (no usage of this flag in dialogue mode!)
DATA: DBUPDATE_VB(1) VALUE ' '. "note 306628
data: matsync type mat_sync. "wk/99a no update in dialog if called
***INCLUDE ZMUSD070.
TABLES: MARA, "Material Master: General Data
MARC, "Material Master: C Segment
MARD, "Material Master: St Loc/Batch
MBEW, "Material Valuation
MVKE, "Material Master: Sales Data
MLGN, "Material Data per Whse Number
MLAN, "Tax Classification: Material
T001W, "Plants/Branches
TBICU.
DATA: BEGIN OF VALUTAB OCCURS 0.
INCLUDE STRUCTURE RSPARAMS.
DATA: END OF VALUTAB.
DATA: BEGIN OF VARTECH.
INCLUDE STRUCTURE VARID.
DATA: END OF VARTECH.
DATA: PARMS LIKE ZXXDCONV.
DATA: REC_COUNT TYPE I,
REC_COUNT_BAD TYPE I,
ZJOBID LIKE TBIZU-JOBID,
ZJOBCOUNT LIKE TBIZU-JOBCOUNT,
ZMATNR LIKE MARA-MATNR,
ZTEXT(80) TYPE C.
CONSTANTS: LIT_ZERO(18) TYPE C VALUE '000000000000000000',
LIT_CHAR TYPE C VALUE '_',
LIT_CREATE LIKE BMM00-TCODE VALUE 'MM01',
LIT_CHANGE LIKE BMM00-TCODE VALUE 'MM02',
LIT_CHECK(1) TYPE C VALUE 'X'.
DATA: BEGIN OF INP_DATA OCCURS 0,
MATNR(18) TYPE C, " Material code
UMREN(6) TYPE C, " Denominator
MEINH(3) TYPE C, " Alternate UOM
UMREZ(6) TYPE C, " Numerator
END OF INP_DATA.
*eject
SELECTION-SCREEN BEGIN OF BLOCK INOUT WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (13) TEXT-004.
PARAMETERS: P_PC RADIOBUTTON GROUP SRC DEFAULT 'X'.
SELECTION-SCREEN COMMENT (6) TEXT-005.
PARAMETERS: P_UNIX RADIOBUTTON GROUP SRC.
SELECTION-SCREEN COMMENT (6) TEXT-006.
PARAMETERS: P_DS_TYP LIKE ZXXDCONV-DS_TYP
DEFAULT 'ASC'.
SELECTION-SCREEN END OF LINE.
*SELECT-OPTIONS: S_PATH FOR PARMS-PATH
NO INTERVALS
LOWER CASE.
PARAMETERS: P_PATH TYPE RLGRAP-FILENAME.
PARAMETERS: P_HDRLIN LIKE ZXXDCONV-HDR_LINES
DEFAULT 0,
P_JOBNAM LIKE TBICU_S-JOBNAME
MEMORY ID BM1,
P_DI_EXE AS CHECKBOX
DEFAULT LIT_CHECK,
P_MAPPE LIKE BGR00-GROUP
DEFAULT 'MRP_UOM_LOAD'
NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK INOUT.
*eject
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PATH.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = 'P_PATH'
CHANGING
FILE_NAME = S_PATH-LOW
FILE_NAME = P_PATH
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2.
AT SELECTION-SCREEN.
Set up parameter record
PARMS-UNIX = P_UNIX.
PARMS-PC = P_PC.
PARMS-DS_TYP = P_DS_TYP.
PARMS-JOBNAME = P_JOBNAM.
PARMS-MAPPE = P_MAPPE.
PARMS-HDR_LINES = P_HDRLIN.
*eject
Main Processing Routine *
START-OF-SELECTION.
Initialization
PERFORM 0000_HOUSEKEEPING.
Initialize transaction data in I_BM00
PERFORM 0500_INIT_BMM00.
Process input files
SORT S_PATH BY SIGN OPTION LOW.
MOVE S_PATH-LOW TO PARMS-PATH.
MOVE P_PATH TO PARMS-PATH.
LOOP AT S_PATH.
AT NEW LOW.
CLEAR INP_DATA.
REFRESH INP_DATA.
Read source data into internal table
PERFORM 1000_GET_SOURCE_DATA TABLES INP_DATA.
Processs each record in internal table
ZTEXT = TEXT-007.
ZTEXT+13 = PARMS-DS_NAME.
PERFORM 4000_PROGRESS_INDICATOR USING ZTEXT.
Initialize transaction data in I_BM00
PERFORM 0500_INIT_BMM00.
LOOP AT INP_DATA.
Reset tables for each record
BMM00 = I_BMM00.
BMMH1 = I_BMMH1.
BMMH6 = I_BMMH6.
Load structures with data
MOVE-CORRESPONDING INP_DATA TO BMM00.
PERFORM 2000_WRITE_OUTPUT USING BMM00.
MOVE-CORRESPONDING INP_DATA TO BMMH1.
PERFORM 2000_WRITE_OUTPUT USING BMMH1.
MOVE-CORRESPONDING INP_DATA TO BMMH6.
PERFORM 2000_WRITE_OUTPUT USING BMMH6.
REC_COUNT = REC_COUNT + 1.
ENDLOOP.
ENDAT.
ENDLOOP.
IF REC_COUNT GT 0
AND P_DI_EXE EQ LIT_CHECK.
PERFORM 3000_START_DI_JOB.
ENDIF.
WRITE: / TEXT-008,
REC_COUNT.
PERFORM 9000_END_OF_JOB.
*eject
Include containing common routines used by direct input programs
INCLUDE ZMUSD071.
*eject
FORM 0500_INIT_BMM00 *
Initialize I_BMM00 with transaction code and views selected *
FORM 0500_INIT_BMM00.
***this changes done by samson**
if not inp_data[] is initial.
select single matnr from mara INTO ZMATNR where matnr = inp_data-matnr.
if sy-subrc = 0.
I_BMM00-TCODE = LIT_CHANGE.
Basic data
I_BMM00-XEIK1 = LIT_CHECK.
else.
I_BMM00-TCODE = LIT_CREATE.
Basic data
I_BMM00-XEIK1 = LIT_CHECK.
endif.
endif.
**this changes above done by samson**
Transaction code
I_BMM00-TCODE = LIT_CHANGE.
Basic data
I_BMM00-XEIK1 = LIT_CHECK.
ENDFORM.
INCLUDE ZMUSD069.
*eject
FORM 0000_HOUSEKEEPING *
Initialization routines *
FORM 0000_HOUSEKEEPING.
PERFORM 0010_LDS_NAME.
PERFORM 0020_DS_NAME.
PERFORM 0030_OPEN_FILE.
PERFORM 0040_INIT_STRUCTS.
ENDFORM.
*eject
FORM 0010_LDS_NAME *
Obtain logical file name from DI job details *
FORM 0010_LDS_NAME.
Check valid job name
SELECT SINGLE * FROM TBICU
WHERE JOBNAME EQ PARMS-JOBNAME.
IF SY-SUBRC EQ 0.
CALL FUNCTION 'RS_VARIANT_VALUES_TECH_DATA'
EXPORTING
REPORT = TBICU-REPNAME
VARIANT = TBICU-VARIANT
IMPORTING
TECHN_DATA = VARTECH
TABLES
VARIANT_VALUES = VALUTAB
EXCEPTIONS
VARIANT_NON_EXISTENT = 1
VARIANT_OBSOLETE = 2
OTHERS = 3.
IF SY-SUBRC EQ 0.
READ TABLE VALUTAB WITH KEY 'LDS_NAME'.
MOVE VALUTAB-LOW TO PARMS-LDS_NAME.
ELSE.
MESSAGE I001 WITH PARMS-JOBNAME.
MESSAGE A099.
ENDIF.
ELSE.
MESSAGE I000 WITH PARMS-JOBNAME.
MESSAGE A099.
ENDIF.
ENDFORM.
*eject
FORM 0040_INIT_STRUCTS *
Initialize structures for direct input records *
FORM 0040_INIT_STRUCTS.
Start of standard SAP initialization from example program RMMMBIME
*------- Write session record -
CLEAR BGR00.
BGR00-STYPE = MAPPENSATZ.
BGR00-GROUP = PARMS-MAPPE.
BGR00-NODATA = C_NODATA.
BGR00-MANDT = SY-MANDT.
BGR00-USNAM = SY-UNAME.
BGR00-START = BGR00-NODATA.
BGR00-XKEEP = BGR00-NODATA.
PERFORM 2000_WRITE_OUTPUT USING BGR00.
*----- Initialize structures -
NODATA = BGR00-NODATA.
PERFORM INIT_STRUKTUREN_ERZEUGEN(RMMMBIMI) USING NODATA.
End of standard SAP initialization from example program RMMMBIME
ENDFORM.
*eject.
FORM 3000_START_DI_JOB *
Start direct input job *
FORM 3000_START_DI_JOB.
ZTEXT = 'Starting '(021).
ZTEXT+9 = TBICU-JOBNAME.
PERFORM 4000_PROGRESS_INDICATOR USING ZTEXT.
CALL FUNCTION 'BI_START_JOB'
EXPORTING
JOBID = ' '
JOBTEXT = TBICU-JOBNAME
REPNAME = TBICU-REPNAME
SERVER = TBICU-EXECSERVER
VARIANT = TBICU-VARIANT
NEW_JOB = 'X'
CONTINUE_JOB = ' '
START_IMMEDIATE = 'X'
DO_NOT_PRINT = 'X'
USERNAME = SY-UNAME
IMPORTING
JOBID = ZJOBID
JOBCOUNT = ZJOBCOUNT
EXCEPTIONS
JOB_OPEN_FAILED = 1
JOB_CLOSE_FAILED = 2
JOB_SUBMIT_FAILED = 3
WRONG_PARAMETERS = 4
JOB_DOES_NOT_EXIST = 5
WRONG_STARTTIME_GIVEN = 6
JOB_NOT_RELEASED = 7
WRONG_VARIANT = 8
NO_AUTHORITY = 9
DIALOG_CANCELLED = 10
JOB_ALREADY_EXISTS = 11
PERIODIC_NOT_ALLOWED = 12
ERROR_NUMBER_GET_NEXT = 13
OTHERS = 14.
IF SY-SUBRC EQ 0.
WRITE: / 'Direct input job'(022), TBICU-JOBNAME, 'started'.
ELSE.
WRITE: / 'Direct input failed with return code'(023), SY-SUBRC.
ENDIF.
FORM 0020_DS_NAME.
CALL FUNCTION 'FILE_GET_NAME'
EXPORTING
CLIENT = SY-MANDT
LOGICAL_FILENAME = PARMS-LDS_NAME
OPERATING_SYSTEM = SY-OPSYS
IMPORTING
FILE_NAME = PARMS-DS_NAME
EXCEPTIONS
FILE_NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC NE 0.
MESSAGE E002 WITH PARMS-LDS_NAME.
MESSAGE A099.
ENDIF.
ENDFORM.
*eject
FORM 0030_OPEN_FILE *
Open physical file for output *
FORM 0030_OPEN_FILE.
OPEN DATASET PARMS-DS_NAME FOR OUTPUT IN TEXT MODE. "thg191105
OPEN DATASET PARMS-DS_NAME FOR OUTPUT IN TEXT MODE
encoding default. "thg191105
IF SY-SUBRC NE 0.
MESSAGE E003 WITH PARMS-DS_NAME.
MESSAGE A099.
ENDIF.
ENDFORM.
*eject
FORM 1000_GET_SOURCE_DATA *
Read source data into internal table *
--> INP_DATA " Name of internal table passed as parameter *
FORM 1000_GET_SOURCE_DATA TABLES INP_DATA.
CALL FUNCTION 'Z_FILE_UPLOAD'
EXPORTING
UNIX = PARMS-UNIX
PC = PARMS-PC
FILETYPE = PARMS-DS_TYP
FILENAME = PARMS-PATH
HDR_LINES = PARMS-HDR_LINES
TABLES
DATA_TAB = INP_DATA
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
INVALID_SOURCE = 8
OTHERS = 9.
ENDFORM.
*eject
FORM 2000_WRITE_OUTPUT *
Write record in standard SAP structure to UNIX file *
--> I_STRUCT " Name of record passed as parameter *
*FORM 2000_WRITE_OUTPUT USING I_STRUCT."SRY28NOV05
FORM 2000_WRITE_OUTPUT USING I_STRUCT TYPE ANY. "SRY28NOV05
TRANSFER I_STRUCT TO PARMS-DS_NAME.
IF SY-SUBRC NE 0.
MESSAGE E004 WITH PARMS-DS_NAME.
MESSAGE A099.
ENDIF.
ENDFORM.
*eject
*& Form 2100_WS_DOWNLOAD
text *
--> p1 text
<-- p2 text
FORM 2100_WS_DOWNLOAD TABLES INP_DATA.
DATA: FILENAME LIKE RLGRAP-FILENAME. "SRY28NOV05
DATA: W_FILENAME TYPE STRING. "SRY28NOV05
DATA: W_FTYP(10) TYPE C VALUE 'DAT'. "SRY28NOV05
MOVE PARMS-DS_NAME TO FILENAME. "SRY28NOV05
MOVE PARMS-DS_NAME TO W_FILENAME. "SRY28NOV05
*BEGIN OF BLOCK COMMENT BY SRY28NOV05
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
BIN_FILESIZE = ' '
CODEPAGE = ' '
FILENAME = FILENAME
FILETYPE = 'DAT'
MODE = ' '
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
COL_SELECT = ' '
COL_SELECTMASK = ' '
importing
filelength =
TABLES
DATA_TAB = INP_DATA
FIELDNAMES =
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
OTHERS = 8.
*END OF BLOCK COMMENT BY SRY28NOV05
*BEGIN OF BLOCK ADDED BY SRY28NOV05
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = W_FILENAME
FILETYPE = W_FTYP
TABLES
DATA_TAB = INP_DATA
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22.
IF SY-SUBRC NE 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*END OF BLOCK ADDED BY SRY28NOV05
ENDFORM. " 2100_WS_DOWNLOAD
*eject
FORM 4000_PROGRESS_INDICATOR *
Write progress text to status bar *
--> TEXT " Text passed as parameter *
FORM 4000_PROGRESS_INDICATOR USING TEXT.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 0
TEXT = TEXT
EXCEPTIONS
OTHERS = 1.
ENDFORM.
*eject.
FORM 9000_END_OF_JOB *
Close files on UNIX *
FORM 9000_END_OF_JOB.
CLOSE DATASET PARMS-DS_NAME.
ENDFORM.
FORM 1000_GET_SOURCE_DATA TABLES INP_DATA.
CALL FUNCTION 'Z_FILE_UPLOAD'
EXPORTING
UNIX = PARMS-UNIX
PC = PARMS-PC
FILETYPE = PARMS-DS_TYP
FILENAME = PARMS-PATH
HDR_LINES = PARMS-HDR_LINES
TABLES
DATA_TAB = INP_DATA
EXCEPTIONS
CONVERSION_ERROR = 1
FILE_OPEN_ERROR = 2
FILE_READ_ERROR = 3
INVALID_TABLE_WIDTH = 4
INVALID_TYPE = 5
NO_BATCH = 6
UNKNOWN_ERROR = 7
INVALID_SOURCE = 8
OTHERS = 9.
ENDFORM.
*eject
FORM 2000_WRITE_OUTPUT *
Write record in standard SAP structure to UNIX file *
--> I_STRUCT " Name of record passed as parameter *
*FORM 2000_WRITE_OUTPUT USING I_STRUCT."SRY28NOV05
FORM 2000_WRITE_OUTPUT USING I_STRUCT TYPE ANY. "SRY28NOV05
TRANSFER I_STRUCT TO PARMS-DS_NAME.
IF SY-SUBRC NE 0.
MESSAGE E004 WITH PARMS-DS_NAME.
MESSAGE A099.
ENDIF.
ENDFORM.
*eject
*& Form 2100_WS_DOWNLOAD
text *
--> p1 text
<-- p2 text
FORM 2100_WS_DOWNLOAD TABLES INP_DATA.Hi,
Thnaks for your reply, This is my requirement.
Here my problem is i am trying to upload the data from flatfile which contain materil number, denominator, Actual UOM, Nominator field values.
Which is the data i need to upload into MM02 and MM01, if material number is new then it has to create the material, if material is already existing it has to update the UOM values.
here i am getting data into my internal table INP_DATA, from that i am trying to upload the data to database by using job name MRP_MATERIAL_MASTER_DATA_UPLOAD with direct input program RMDATIND.
when i execute my program i am getting success message all the records writtin from flatfile to application server. and job started message.
then if i go into sm37 screen there i execute the job it is also giving active message. if i refresh it it is showing job completed message.
then i look at job log status. there i found that for existing material it is expecting material type, for new material it is giving some gravity error.
So could u help me in this it will be gr8.
Thanks & Regards,
RamNV -
How to use shared variables with native c programs
Hello
What is the way to use shared variables with native c programs?
I have a c/c++ program that uses the NIDAQmx C-API to perform measurements. Now I want to communicate to a LabVIEW program via shared variables.
Is there a C-API for shared variables as there is for the NIDAQmx functionality? Where can I find further documentation? The document "Using the LabVIEW Shared Variable" mentions that one "can read and write to shared variables in ANSI C", but there are no hints about how and where to look.
Thanks in AdvanceHi user42,
with CVI 8.0, you cannot create or configure shared variables. However, you can read or write to an already configured LabVIEW 8.x shared variable from CVI using the DataSocket API.
In order to do this you need to have and DataSocket 4.3 or higher installed.
Here's a forum post about using the DataSocket functions a LabVIEW Shared Variables:
http://forums.ni.com/ni/board/message?board.id=180&message.id=24569&requireLogin=False
With CVI 8.1 and Measurement Studio 8.1 it's possible to use Shared Variables via the Network Varaiable Library (check out the end of the "Network-Published Shared Variable" section within the "Using the LabVIEW Shared Variable" documentation and the following link).
Datasocket with LabWindows/CVI and LabVIEW Real-Time:
http://digital.ni.com/public.nsf/allkb/CC4343488413A2F586256E6200099638?OpenDocument
Daniel
NIG -
BPM process archiving "Processing of archiving write command failed"
Can someone help me with the following problem. After archiving a BPM proces, I get the following messages (summary):
ERROR Processing of archiving write command failed
ERROR Job "d5e2a9d9ea8111e081260000124596b3" could not be run as user"E61006".
LOG -> Processing of archiving write command failed
[EXCEPTION] com.sap.glx.arch.xml.XmlArchException: Cannot create archivable items from object
Caused by: java.lang.ClassCastException: ...
Configuration
I've completed the following steps based on a blog item.
1. created an archive user with the corresponding roles
2. updated the destination DASdefault with the created user -> destination ping = OK
3. created an archive store BPM_ARCH based on unix root folder
4. created home path synchornization with home path /<sisid>/bpm_proc/ and archive store BPM_ARCH
5. start process archiving from manage processes view.
Process Archiving
Manage Process -> Select a process from the table -> Archive button -> Start archiving by using the default settings.
Archiving Monitor
The following log is created which describe that the write command failed.
Write phase log:
[2011.09.29 12:00:18 CEST] INFO Job bpm_proc_write (ID: d5e2a9d9ea8111e081260000124596b3, JMS ID: ID:124596B30000009D-000000000C08) started on Thu, 29 Sep 2011 12:00:18:133 CEST by scheduler: 5e11a5e0df3111decc2d00237d240438
[2011.09.29 12:00:18 CEST] INFO Start execution of job named: bpm_proc_write
[2011.09.29 12:00:18 CEST] INFO Job status: RUNNING
[2011.09.29 12:00:18 CEST] ERROR Processing of archiving write command failed
[2011.09.29 12:00:18 CEST] INFO Start processing of archiving write command ...
Verify Indexes ...
Archive XML schema ...
Resident Policy for object selection is instanceIds = [9ca38cb2343511e0849600269e82721e] , timePeriod = 1317290418551 , inError = false ,
[2011.09.29 12:00:18 CEST] ERROR Job "d5e2a9d9ea8111e081260000124596b3" could not be run as user"E61006".
[2011.09.29 12:00:18 CEST] INFO Job bpm_proc_write (ID: d5e2a9d9ea8111e081260000124596b3, JMS ID: ID:124596B30000009D-000000000C08) ended on Thu, 29 Sep 2011 12:00:18:984 CEST
Log viewer
The following message is created in the log viewer.
Processing of archiving write command failed
[EXCEPTION]
com.sap.glx.arch.xml.XmlArchException: Cannot create archivable items from object
at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
Caused by: java.lang.ClassCastException: class com.sap.glx.arch.Archivable:sap.com/tcbpemarchear @[email protected]2@alive incompatible with interface com.sap.glx.util.id.UID:library:tcbpembaselib @[email protected]f@alive
at com.sap.glx.arch.him.xml.JaxbTaskExtension.createJaxbObjects(JaxbTaskExtension.java:69)
at com.sap.glx.arch.xml.JaxbSession.fillFromExtensions(JaxbSession.java:73)
at com.sap.glx.arch.pm.xml.ArchProcessExtension.fillHimObjects(ArchProcessExtension.java:113)
at com.sap.glx.arch.pm.xml.ArchProcessExtension.createArchObjectItem(ArchProcessExtension.java:60)
at com.sap.glx.arch.xml.JaxbSession.createArchObjectItems(JaxbSession.java:39)
at com.sap.glx.arch.xml.Marshaller.createItems(Marshaller.java:29)
... 61 moreHi Martin,
I don't have a specific answer sorry, however I do recall seeing a number of OSS notes around BPM archiving whilst searching for a different issue last year - have you checked on there for anything relevant to your currnet version and SP level? There were quite a few notes if memory serves me well!
Regards,
Gareth. -
Problem with CD writer interaction!!!!
Hi! I'm trying to write a program that will interact with any CD writer which means the program supposed to be capable of burning data on a CD. Is it possible to interact with CD writer in Java? If it is can anyone point me to a online resource where it is explained clearly or can anyone explain it to me in plain English?
Thanks in advance.
--DM777To burn CD's, you have to interact with the CD-burner on a pretty low level (hardware level). Java doesn't support this by default.
There may be 3rd-party libraries (probably based on JNI), which give you burner support, but I don't know of one.
Cheers,
--Arnout -
Report all z tables with all z program containing these z tables
Hi Everyone,
I want to write a report to extract all z table with all z program contained in these z tables
ex: The z table zxxxx exist in program zxx1 , zxx2 and zxx3.
Table Program
zxxxxx zxx1
zxx2
zxx2
If you have any idea , wich table we can find information
Thanks in advance for your time
SoufieneThank you very much , but where i can find the descritption for the table .
EX :
TABLE DESCRIPTION PROGRAM
ZCHANGEMPL SAP TO Kronos interface tables ZXXXXXXX
Thanks a lot
Soufiene -
Program : FI_DOCUMNT_WRI
Hi
I use the program : FI_DOCUMNT_WRI to read the database before archeiving but there are some error message.
" Withholding tax life (455 days) not reached"
I would like to know the meaning or condition for program that make an error.
Thank you for your help
WiboonHi Wiboon....
As Iam not worked with that report previously, I will suggest you one this.
First you find the Message class name and ID name for that message.
And now goto program...
Try to search that message in program or in its includes..
Put a break point there and debug...
You can trace that error with this easily... also you can gain some additional knowledge on that area...
Thanks,
Naveen.I
Maybe you are looking for
-
T4i Rebel error message "movie recording has stopped automatically"
I was recording my client when suddenly I got a this error message "movie recording has stopped automatically" and I could not record video anymore. I am recording on a class 10 sandisk Ultra card. 720/60, EFS18-135mm lens. Never had any problems in
-
Hi, We are now beginning to install Office 2007 in our computers with Windows XP. In checking out results with the change, we see that exporting to excel from Discoverer is problematic. It does not maintain the layout of the report as previously in O
-
Hi Guys, I am a newbie to FCP. Is it possible to import an imovie 08 project into FCP 4.5? I have multiple video clips carefully synched to a music soundtrack (live music concert) but have blank video spaces I wish to fill with something like itunes
-
T410i upgrading from 32 bit to 64 bit
Hej everyone, I just got my hands on a new T410i and love it as much as I loved my T42 before. However, I'm not that pleased with the 32 bit windows 7 which came along with the machine and would like to throw the 64 bit version on it. My concern is
-
just had windows 8.1 installed. Printing works, from both a wired and wireless perspective, but scanning does not on my L7780 all-in-one device. is this printer supported?