Batch archiveing procedure issues
Hi
I am trying to archive Material batches ...but i have structued in process
i have followed below steps:
i have maintained varient in mm74 t.code ... then click on start button ..click on immediately ..its become green ..then click on spool button it becomes green ..then click on execute.....and go to sm37 ... i checked job statues is finished ...
then goto SARA t.code .. there i entered archive object MM_SPSTOCK..then click on archive delete button ...archive selection screen appreard ..but inthis screen .. i have got the selections (which i have created variant in MM74)
could you pls guide ..correct process..
Regards
Sasi
......i checked job statues is finished
this is certainly not enough, An archving job finishes even it has not archived anything because of errors
You have to display the spoolfile with the detailed archiving log.
There you can see if records got archivied or not.
and if not, SAP lists the reasons.
In case of batches it is usually a dependency, e.g. that you have stock, or that the batch is in use, because it is referenced in purchase order, production orders, deliveries etc. Those objects have to be archived prior to the batches.
Further, depending on customizing, the write job and the delete job can be tight together. In this case you dont need to execute the delete job manually in SARA. However, you would see an extra delete job in the job overview (but only if the write job archived something)
Similar Messages
-
Hi...i have to issue raw material which is in batch in my storage location with charachterstics of expiration date.
NoW i have to issue against prodcutionorder. How and where i can see the all batch depends on date at the time of issue.
How can i make use of BATCH DETERMINATION.
Reply get rewarded
ThnaksI hope you have batch with production date and expairy date maintained in batch classification view so that system will determin which batch has to be taken first,
full Procedure is as below\
customising settings
Implementation Guide for R/3 Customizing (IMG) Logistics u2013 General Batch Management Batch Determination and Batch Check -->Batch Search Procedure Allocation and Check ActivationAllocate IM Search Procedure/Activate Check
Assign for 261 mov type - ME0001.
Master data settingsa as below
Create a class in transaction CL01 and assign the SAP std characteristics for expiry date - LOBM_VFDAT
Create Raw material
Maintain Classification view and batch management tick
Create Sort Rule in CU70 and enter the characteristic what you entered in above class and select ascending or descending depending on yr requirement
Crate batch determination rule in MBC1 depending in which transaction you want to determine the batch based on shelf expiry date
Now the settings for MBC1 is given below
Stg type u2013 ME01
select/ plant/material/mov type option
Mov type 261/262
Plant u2013
Give the selection criteria class and sort sequence created above as below
selection with selection defined
Sort sequence as defined above.
no of split = say 999
Changes aloowed
Overdelivery allowed
qty proposal = 1
Display UOM = B
Pl check yoiur settings and do the necssary adjustments
then when you issue the material yoiu can see a batch determination icon by whcih system will give you the screen where in the batch data with sort rule -expairty date) will be present where you can change the batch qty and click on copy option. so that system wiull select the batch requiured -
My current email system no longer allows me to click on a bunch of emails - and their attachments, then 'print' them to pdf on my hard drive.
My business must save emails for at least 10 years.
Someone suggested Mozilla's email, Thunderbird, but I'm not gonna switch until I know that I can batch-archive.
Thoughts?Hi!
Thunderbird is capable of batch-archiving; you can select all the emails/folders/mailboxes that you wish to archive and then click "Archive". They will all be archived in their appropriate folders to your computer. There are Thunderbird add-ons available that will give you even better control over your archiving options.
If you'd rather print them all to PDFs, you would need to have a PDF creator installed on your computer first. You would then select all the emails you wanted to print and then select your PDF creator as the printer at print time.
If you are looking for a new e-mail client, Thunderbird is an excellent option. :) You can download it [http://www.mozilla.org/en-US/thunderbird here].
<hr>
I hope that answered your question!
<i>If it did, would you please choose this answer as your solution? It would help other Mozilla product users to find help on the forums faster and more efficiently. Thanks!</i>
And of course, feel free to post back if you need more help!
If you need more specific assistance with Thunderbird, it'd be ideal to post further questions to [https://support.mozilla.org/en-US/questions/thunderbird Mozilla's Thunderbird Support Forums] , instead of the Firefox forum. :)
Happy browsing! -
Apple to resolve my archive utility issue
Apple has to resolve my archive utility issue with the error message Error 32: Broken Pipe. Apple says I have to re-install the Yosemite 10.10.2 software. I am totally against re-installing the software for the simple reason that Archive Utility is "untar" the files with tar.gz file. I am really unable to download and install some of the software that comes with tar.gz extension. It is really frustrating.
Apple has opened the case but since they told me to re-install the software which I declined and advised them to close my case.
I want to talk with Apple Software Engineer team but Apple said they could not connect me with their Software Engineer Team.
With regards,
VasuSo, what do you expect us to do? We can't contact the Apple Software Engineering team, either.
If you don't want to reinstall to get Archive Utility working again, use tar in the Terminal. Type man tar at the prompt for help on using it. -
Got a customer with a CS-MARS-100E-K9 appliance, and we're looking at the archiving procedure on the device in order to back it up in case of future disaster recovery.
The limited documentation I can find seems to contradict itself, where in one place it says that the default archive/restore will also archive the OS as well as all config and dynamic data (implying that it is basically a disk image of the appliance), yet in another says that I'll need to re-image to the version of software that the data comes from before I can restore anything. Can anyone clear up the following:
1 - Does the archive procedure essentially run like a disk-image backup, where re-running the pnrestore will bring a blank appliance back up to (for example) version 4.2.2 with all the config and dynamic data present?
or
2 - Will I need to reinstall up to version 4.2.2 and then run the pnrestore?
Thanks in advance.The documentation pertaining to the pnrestore functionality is indeed horrible, but I've never really questioned that aspect of it.
At least certain parts of the archived data (the raw events and sessions) appear to be some sort of sql export. They are compressed text files. I would guess that the other database related information is not a disk image either, there are many files. The OS info might be, but I'm not sure it matters.
I have used pnrestore a couple times and it appears that all the work is done and then the system is rebooted. To me this would imply that the version of pnrestore being used is critical to the process. Trying to use the pnrestore that came with 3.x to restore 4.x data doesn't seem likely to succeed. If you're going to try it, I would be sure to get Cisco's input because even if it works in the current version, it may not 3 versions from now when you need it. -
just wondering how i archive digital issues on my iPad. Since the update, I've noticed that there isn't an "archive" button that appears next to each digital issue in the app library.
Documentation about transaction TAANA:
[TAANA help|http://help.sap.com/saphelp_nw2004s/helpdata/en/82/f0abb396969448a88863cd26a59182/content.htm]
Like I mentioned earlier, I believe the information you are looking for does not exist as such.
If I understand your question, this information is presented in each job (log), and specifically refers to the archiving object.
Regards,
Daniel. -
ARCHIVEING PROCEDURE for material master
Hi
I have some blocked matrial in our production system..i want archive the all material whhich have blocked.. pls guide me any one to archive procedure for material deletion
regards
sesidahr> Kindly Read the Rules and Use the Search
Once Material is Flagged you Need to Archive the Material Master Records thru Archiving Program SARA Trxn code with Archiving Object MM_MATNR
Please Go thru the link for Details :
http://www.sap-img.com/bc003.htm -
RMAN BACKUPS AND ARCHIVED LOG ISSUES
제품 : RMAN
작성날짜 : 2004-02-17
RMAN BACKUPS AND ARCHIVED LOG ISSUES
=====================================
Scenario #1:
1)RMAN이 모든 archived log들을 삭제할 때 실패하는 경우.
database는 두 개의 archive destination에 archive file을 생성한다.
다음과 같은 스크립트를 수행하여 백업후에 archived redo logfile을 삭제한다.
run {
allocate channel c1 type 'sbt_tape';
backup database;
backup archivelog all delete input;
Archived redo logfile 삭제 유무를 확인하기 위해 CROSSCHECK 수행시 다음과
같은 메시지가 발생함.
RMAN> change archivelog all crosscheck;
RMAN-03022: compiling command: change
RMAN-06158: validation succeeded for archived log
RMAN-08514: archivelog filename=
/oracle/arch/dest2/arcr_1_964.arc recid=19 stamp=368726072
2) 원인분석
이 문제는 에러가 아니다. RMAN은 여러 개의 arhive directory중 하나의
directoy안에 있는 archived file들만 삭제한다. 그래서 나머지 directory안의
archived log file들은 삭제되지 않고 남게 되는 것이다.
3) 해결책
RMAN이 강제로 모든 directory안의 archived log file들을 삭제하게 하기 위해서는
여러 개의 채널을 할당하여 각 채널이 각 archive destination안의 archived file을
백업하고 삭제하도록 해야 한다.
이것은 아래와 같이 구현될 수 있다.
run {
allocate channel t1 type 'sbt_tape';
allocate channel t2 type 'sbt_tape';
backup
archivelog like '/oracle/arch/dest1/%' channel t1 delete input
archivelog like '/oracle/arch/dest2/%' channel t2 delete input;
Scenario #2:
1)RMAN이 archived log를 찾을 수 없어 백업이 실패하는 경우.
이 시나리오에서 database를 incremental backup한다고 가정한다.
이 경우 RMAN은 recover시 archived redo log대신에 incremental backup을 사용할
수 있기 때문에 백업 후 모든 archived redo log를 삭제하기 위해 OS utility를 사용한다.
그러나 다음 번 backup시 다음과 같은 Error를 만나게 된다.
RMAN-6089: archive log NAME not found or out of sync with catalog
2) 원인분석
이 문제는 OS 명령을 사용하여 archived log를 삭제하였을 경우 발생한다. 이때 RMAN은
archived log가 삭제되었다는 것을 알지 못한다. RMAN-6089는 RMAN이 OS 명령에 의해
삭제된 archived log가 여전히 존재하다고 생각하고 백업하려고 시도하였을 때 발생하게 된다.
3) 해결책
가장 쉬운 해결책은 archived log를 백업할 때 DELETE INPUT option을 사용하는 것이다.
예를 들면
run {
allocate channel c1 type 'sbt_tape';
backup archivelog all delete input;
두 번째로 가장 쉬운 해결책은 OS utility를 사용하여 archived log를 삭제한 후에
다음과 같은 명령어를 RMAN prompt상에서 수행하는 것이다.
RMAN>allocate channel for maintenance type disk;
RMAN>change archivelog all crosscheck;
Oracle 8.0:
RMAN> change archivelog '/disk/path/archivelog_name' validate;
Oracle 8i:
RMAN> change archivelog all crosscheck ;
Oracle 9i:
RMAN> crosscheck archivelog all ;
catalog의 COMPATIBLE 파라미터가 8.1.5이하로 설정되어 있으면 RMAN은 찾을 수 없는
모든 archived log의 status를 "DELETED" 로 셋팅한다. 만약에 COMPATIBLE이 8.1.6이상으로
설정되어 있으면 RMAN은 Repository에서 record를 삭제한다.Very strange, I issue following command in RMAN on both primary and standby machine, but it they don't delete the 1_55_758646076.dbf, I find in v$archived_log, this "/home/oracle/app/oracle/dataguard/1_55_758646076.dbf" had already been applied.
RMAN> connect target /
RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
old RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
new RMAN configuration parameters:
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;
new RMAN configuration parameters are successfully stored
RMAN>
---------------------------------------------------------------------------------- -
I can't archive an SD card shot with Sony RX10 in FCPX 10.1.0. Card from EX1r archives without issue. Anyone have a solution?
Thank you.Hey Tom.
The RX10 shoots, after the ver. 2.00 firmware upgrade, XAVC S 50MB footage. I can import the mp4 footage from the card via MP4Root folder and I can drag it off the card to a hard rive and import from there as well. There was a plug-in from Sony to be able to import XAVC footage (PD2K-LT2.dmg) that I installed to get FCPX to recognize the footage. The language in the plug-in, however, seems to only discuss XDCAM, which I was able to do with the EX1R several FCPX versions ago. That being said, import works so I'm mostly there. The archive is such a great feature, it would be nice to be able to use it for this camera. -
New Batch Determination procedure for consginment issue delivery
Hi SD Gurus,
We have a requirement to determine batches of Consignment fill up delivery automatically in Consignment issue delivery.Batches are entered manually in Consign fill up delivery.
A consignment issue order is always created with reference to a consignment fill-up order. There is no batch in Consign fill up or issue order.
Thanks
RamaHi,
When you doing consignment fill up order determine batches their itself.
When you doing consignment issue with reference to consignment fill up then same batches you can copy and deliver.
Remember make availability check off when doing Consignment issue and delivery.
other wise system will give error qty. not available in specified batches because qty already at customer site.
Kapil -
Hello,
I'm carrying out archiving of material batches on TCODE MM74. I have some documentation but still I'm stuck on technical issues.
Does anyone have one step-by-step procedure (actually a proven document, not just a SAP PDF).
I just want an immediate job that archives batches flagged for deletion with no stock, simple as that!
Cheers.Job log overview:
07.04.2008 15:07:17 Job started
07.04.2008 15:07:17 Step 001 started (program MMREO020N, variant LOTES, user ID
07.04.2008 15:07:18 Start of Data Processing
07.04.2008 15:07:19 Job finished
If I try to read the archived object I have no data.
On Log details, in the 'write' folder I have:
No log was generated
Message no. ARCH_PROT226
Diagnosis
The program does not provide a log.
The program provides a log, but you requested the log output to go to the list (spool) and not the application log.
Cheers -
Archiving MM_SPSTOCK Issues with CDHDR Table
We're executing a number of small variants and in some cases it starts to read the CDHDR table sequentially and the job has to be canceled or eventually terminates. Also, in these cases it holds locks and the transaction MIGO fails and batch GR processes terminates. The sequential reading of CDHDR happens if we run one or multiple jobs of MM_SPSTOCK..
Anybody encounter the sequential read of CDHDR and/or the locking issues?
Any help will be appreciated.
Thanks.
SoyabNo I never faced this issue.
Make sure that you always have the most recent OSS notes applied before you start archiving of any archiving object.
For performance issues see OSS Note 548661 - Composite SAP note: Archive object MM_SPSTOCK -
Accrual Formula Archive Table Issue?
Hello Experts,
I customized PTO_PAYROLL_BALANCE_CALCULATION as per our business requirment. High Level of the plan- It is based on the overtime an employee works per pay period and depending on overtime worked an employee gets time and half times. For example if the emp works 12 hours he accrues 18 hours of benefit time(formula calculating fine). To meet the business requirment we included employees who are hired in the mid of the pay period , here the issue is when the archive process is run
We are unable to populate the employee's period accural(acrrued in a particular pay period) and if we populate the period accrual we are unable to process period accrual for an employee terminated in middle of the pay period. The requirement is to populate both in the archive table. ie to include both period accrual and mid pay period terminated employees.
Below is the customized formula. Thanks much and appreciate your time and response in advance.
DEFAULT FOR ACP_START IS 'HD'
DEFAULT FOR ACP_INELIGIBILITY_PERIOD_TYPE IS 'CM'
DEFAULT FOR ACP_INELIGIBILITY_PERIOD_LENGTH IS 0
DEFAULT FOR ACP_CONTINUOUS_SERVICE_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR ACP_ENROLLMENT_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR ACP_TERMINATION_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR ACP_ENROLLMENT_START_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR ACP_SERVICE_START_DATE IS '4712/12/31 00:00:00' (date)
default for Accrual_Start_Date is '4712/12/31 00:00:00' (date)
default for Accrual_Latest_Balance is 0
INPUTS ARE
Calculation_Date (date),
Accrual_Start_Date (date),
Accrual_Latest_Balance
/* bug 4047666*/
prm_Accrual_Start_Date (date) = Accrual_Start_Date
prm_Calculation_Date (date) = Calculation_Date
/* bug 4047666*/
E = CALCULATE_PAYROLL_PERIODS()
For the payroll year that spans the Calculation Date
get the first days of the payroll year. If we have a latest balance,
we use the Accrual Start Date.
Calculation_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
Calculation_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
/**XXX CUSTOM **/
/*Calculation_Date = get_date('PAYROLL_PERIOD_END_DATE')*/
Payroll_Year_First_Valid_Date = GET_DATE('PAYROLL_YEAR_FIRST_VALID_DATE')
IF (Calculation_Date <> Calculation_Period_ED) AND
(Calculation_Period_SD > Payroll_Year_First_Valid_Date) THEN
E = GET_PAYROLL_PERIOD(ADD_DAYS(Calculation_Period_SD,-1))
Calculation_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
Calculation_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
ELSE IF (Calculation_Period_SD = Payroll_Year_First_Valid_Date) AND
(Calculation_Date <> Calculation_Period_ED) THEN
Calculation_Period_ED = ADD_DAYS(Calculation_Period_SD,-1)
Set the Calculation_Date to the Termination Date / Enrollment end date if not defaulted
IF NOT (ACP_TERMINATION_DATE WAS DEFAULTED) OR
NOT (ACP_ENROLLMENT_END_DATE WAS DEFAULTED) THEN
Early_End_Date = least(ACP_TERMINATION_DATE, ACP_ENROLLMENT_END_DATE)
IF (Early_End_Date < Calculation_Date) THEN
Calculation_Date = Early_End_Date
Get the last whole payroll period prior to the Calculation Date and ensure that it is within the
Payroll Year (if the Calculation Date is the End of a Period then use that period)
E = GET_PAYROLL_PERIOD(Calculation_Date)
Calculation_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
Calculation_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
/**XXX CUSTOM **/
/*Calculation_Date = get_date('PAYROLL_PERIOD_END_DATE')*/
IF (Calculation_Date <> Calculation_Period_ED) AND
(Calculation_Period_SD > Payroll_Year_First_Valid_Date) THEN
E = GET_PAYROLL_PERIOD(ADD_DAYS(Calculation_Period_SD,-1))
Calculation_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
Calculation_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
ELSE IF (Calculation_Period_SD = Payroll_Year_First_Valid_Date) AND
(Calculation_Date <> Calculation_Period_ED) THEN
Calculation_Period_ED = ADD_DAYS(Calculation_Period_SD,-1)
Set the Continuous Service Global Variable, whilst also
ensuring that the continuous service date is before the Calculation Period
IF (ACP_CONTINUOUS_SERVICE_DATE WAS DEFAULTED) THEN
E = set_date('CONTINUOUS_SERVICE_DATE', ACP_SERVICE_START_DATE)
ELSE IF(ACP_CONTINUOUS_SERVICE_DATE > Calculation_Period_SD) THEN
Total_Accrued_PTO = 0
E = PUT_MESSAGE('HR_52796_PTO_FML_CSD')
E = set_date('CONTINUOUS_SERVICE_DATE', ACP_CONTINUOUS_SERVICE_DATE)
ELSE
E = set_date('CONTINUOUS_SERVICE_DATE', ACP_CONTINUOUS_SERVICE_DATE)
Determine the Accrual Start Rule and modify the start date of the accrual calculation accordingly
N.B. In this calculation the Accrual Start Rule determines the date from which a person may first accrue
PTO. The Ineligibility Rule determines the period of time during which the PTO is not registered.
Once this date has passed the accrual is registered from the date determined by the Accrual Start Rule.
Continuous_Service_Date = get_date('CONTINUOUS_SERVICE_DATE')
IF (ACP_START = 'BOY') THEN
First_Eligible_To_Accrue_Date =
to_date('01/01/'||to_char(add_months(Continuous_Service_Date, 12), 'YYYY'),
'DD/MM/YYYY')
ELSE IF (ACP_START = 'PLUS_SIX_MONTHS') THEN
First_Eligible_To_Accrue_Date = add_months(Continuous_Service_Date,6)
ELSE IF (ACP_START = 'HD') THEN
First_Eligible_To_Accrue_Date = Continuous_Service_Date
Determine the date on which accrued PTo may first be registered, i.e the date on which the
Ineligibility Period expires
Accrual_Ineligibility_Expired_Date = First_Eligible_To_Accrue_Date
IF (ACP_START <> 'PLUS_SIX_MONTHS' AND
ACP_INELIGIBILITY_PERIOD_LENGTH > 0) THEN
IF ACP_INELIGIBILITY_PERIOD_TYPE = 'BM' THEN
Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
ACP_INELIGIBILITY_PERIOD_LENGTH*2)
ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'F' THEN
Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
ACP_INELIGIBILITY_PERIOD_LENGTH*14)
ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'CM' THEN
Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
ACP_INELIGIBILITY_PERIOD_LENGTH)
ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'LM' THEN
Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
ACP_INELIGIBILITY_PERIOD_LENGTH*28)
ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'Q' THEN
Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
ACP_INELIGIBILITY_PERIOD_LENGTH*3)
ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'SM' THEN
Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
ACP_INELIGIBILITY_PERIOD_LENGTH/2)
ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'SY' THEN
Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
ACP_INELIGIBILITY_PERIOD_LENGTH*6)
ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'W' THEN
Accrual_Ineligibility_Expired_Date = add_days(Continuous_Service_Date,
ACP_INELIGIBILITY_PERIOD_LENGTH*7)
ELSE IF ACP_INELIGIBILITY_PERIOD_TYPE = 'Y' THEN
Accrual_Ineligibility_Expired_Date = add_months(Continuous_Service_Date,
ACP_INELIGIBILITY_PERIOD_LENGTH*12)
IF Accrual_Ineligibility_Expired_Date > First_Eligible_To_Accrue_Date
AND Calculation_Date < Accrual_Ineligibility_Expired_Date THEN
First_Eligible_To_Accrue_Date = Accrual_Ineligibility_Expired_Date
If the employee is eligible to accrue before the start of this year,
we must get the period dates for the first period of the year.
Otherwise, we do not need these dates, as we will never accrue that
far back.
IF (not Accrual_Start_Date was defaulted) AND
((Calculation_Date < Accrual_Ineligibility_Expired_Date) OR
(Accrual_Start_Date > Accrual_Ineligibility_Expired_Date)) THEN
* This function checks for unprocessed plan element entries, and
* returns the EE effective start date of the earliest it finds. This may
* be useful if we amend the design to process a partial year starting at
* this date.
* At the moment, however, we simply recalculate for the entire plan term
* in these circumstances, so Adjusted_Start_Date is never used
Adjusted_Start_Date = Get_Start_Date(Accrual_Start_Date,
Payroll_Year_First_Valid_Date)
/* Check whether RESET_PTO_ACCRUAL action parameter is defined and set to Y */
/* If yes, then we need to calculate from the beginning */
Reset_Accruals = Reset_PTO_Accruals()
/* Check for retrospective Assignment changes */
/* Return earliest effective date */
Earliest_AsgUpd_Date = Get_Earliest_AsgChange_Date
( 'PTO Event Group',
add_days(Calculation_Period_SD,-1),
Calculation_Period_ED,
Accrual_Start_Date)
New_Adj_Start_Date = LEAST(Adjusted_Start_Date,
Earliest_AsgUpd_Date)
IF ((New_Adj_Start_Date < Accrual_Start_Date) OR
(Reset_Accruals = 'TRUE')) THEN
Process_Full_Term = 'Y'
ELSE
Process_Full_Term = 'N'
ELSE
Process_Full_Term = 'Y'
Latest_Balance = 0
IF (Process_Full_Term = 'Y') THEN
/* Ensure the Payroll Year Start Date gets reset if caculating */
/* from the beginning of the year. */
E = SET_DATE('PAYROLL_YEAR_SD', Payroll_Year_First_Valid_Date)
IF (Process_Full_Term = 'N') AND
(Accrual_Start_Date >= First_Eligible_To_Accrue_Date) THEN
E = GET_PAYROLL_PERIOD(Adjusted_Start_Date)
Payroll_Year_1st_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
Payroll_Year_1st_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
Latest_Balance = Accrual_Latest_Balance
Effective_Start_Date = Adjusted_Start_Date
) /* XXX Custom to include mid pay period hires*/
ELSE IF First_Eligible_To_Accrue_Date <= Payroll_Year_First_Valid_Date THEN
IF (not Accrual_Start_Date was defaulted) THEN
Latest_Balance = Accrual_Latest_Balance
ELSE
Latest_Balance = 0
E = GET_PAYROLL_PERIOD(Payroll_Year_First_Valid_Date)
Payroll_Year_1st_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
Payroll_Year_1st_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
Effective_Start_Date = Payroll_Year_First_Valid_Date
ELSE
Get the first full payroll period following the First_Eligible_To_Accrue_Date
(if it falls on the beginning of the period then use that period)
IF (not Accrual_Start_Date was defaulted) THEN
Latest_Balance = Accrual_Latest_Balance
ELSE
Latest_Balance = 0
E = GET_PAYROLL_PERIOD(First_Eligible_To_Accrue_Date )
First_Eligible_To_Accrue_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
First_Eligible_To_Accrue_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
/* IF First_Eligible_To_Accrue_Date <> First_Eligible_To_Accrue_Period_SD THEN
E = GET_PAYROLL_PERIOD(add_days(First_Eligible_To_Accrue_Period_ED,1))
First_Eligible_To_Accrue_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
First_Eligible_To_Accrue_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
IF (First_Eligible_To_Accrue_Period_SD > Calculation_Period_ED) THEN
Total_Accrued_PTO = 0
E = PUT_MESSAGE('HR_52793_PTO_FML_ASG_INELIG')
) */ /* XXX Custom to include mid pay period hires*/
Payroll_Year_1st_Period_SD = First_Eligible_To_Accrue_Period_SD
Payroll_Year_1st_Period_ED = First_Eligible_To_Accrue_Period_ED
Effective_Start_Date = First_Eligible_To_Accrue_Date
Effective_Start_Date = GREATEST(Effective_Start_Date, ACP_ENROLLMENT_START_DATE)
Output messages based on calculated date
IF (Early_End_Date < Payroll_Year_1st_Period_ED) THEN
Total_Accrued_PTO = 0
E = PUT_MESSAGE('HR_52794_PTO_FML_ASG_TER')
If (Calculation_Period_ED < Payroll_Year_1st_Period_ED) THEN
Total_Accrued_PTO = 0
E = PUT_MESSAGE('HR_52795_PTO_FML_CALC_DATE')
Determine the date on which PTO actually starts accruing based on Hire Date,
Continuous Service Date and plan Enrollment Start Date. Remember, we have
already determined whether to user hire date or CSD earlier in the formula.
If this date is after the 1st period and the fisrt eligible date then
establish the first full payroll period after this date
(if the Actual Start Date falls on the beginning of a payroll period then
use this period)
Enrollment_Start_Date = ACP_ENROLLMENT_START_DATE
Actual_Accrual_Start_Date = GREATEST(Enrollment_Start_Date,
Continuous_Service_Date,
Payroll_Year_1st_Period_SD)
Determine the actual start of the accrual calculation
IF (Actual_Accrual_Start_Date > Payroll_Year_1st_Period_SD AND
Actual_Accrual_Start_Date > First_Eligible_To_Accrue_Date) THEN
E = GET_PAYROLL_PERIOD(Actual_Accrual_Start_Date)
Accrual_Start_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
Accrual_Start_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
IF Actual_Accrual_Start_Date > Accrual_Start_Period_SD THEN
( E = GET_PAYROLL_PERIOD(Actual_Accrual_Start_Date) /* XXX CUSTOM*/
Accrual_Start_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
Accrual_Start_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
E = GET_PAYROLL_PERIOD(add_days(Accrual_Start_Period_ED,1))
Accrual_Start_Period_SD = get_date('PAYROLL_PERIOD_START_DATE')
Accrual_Start_Period_ED = get_date('PAYROLL_PERIOD_END_DATE')
If the Actual Acrual Period is after the Calculation Period then end the processing.
IF (Accrual_Start_Period_SD > Calculation_Period_ED) THEN
Total_Accrued_PTO = 0
E = PUT_MESSAGE('HR_52797_PTO_FML_ACT_ACCRUAL')
ELSE IF (First_Eligible_To_Accrue_Date > Payroll_Year_1st_Period_SD) THEN
Accrual_Start_Period_SD = First_Eligible_To_Accrue_Period_SD
Accrual_Start_Period_ED = First_Eligible_To_Accrue_Period_ED
ELSE
Accrual_Start_Period_SD = Payroll_Year_1st_Period_SD
Accrual_Start_Period_ED = Payroll_Year_1st_Period_ED
Now set up the information that will be used in when looping
through the payroll periods
IF Calculation_Period_ED >= Accrual_Start_Period_ED THEN
E = set_date('PERIOD_SD',Accrual_Start_Period_SD)
E = set_date('PERIOD_ED',Accrual_Start_Period_ED)
E = set_date('LAST_PERIOD_SD',Calculation_Period_SD)
E = set_date('LAST_PERIOD_ED',Calculation_Period_ED)
IF (Process_Full_Term = 'N') THEN
E = set_number('TOTAL_ACCRUED_PTO', Latest_Balance)
ELSE
E = set_number('TOTAL_ACCRUED_PTO', 0)
Initialize Band Information
E = set_number('ANNUAL_RATE', 0)
E = set_number('UPPER_LIMIT', 0)
E = set_number('CEILING', 0)
E = LOOP_CONTROL('PTO_PAYROLL_PERIOD_ACCRUAL')
Total_Accrued_PTO = get_number('TOTAL_ACCRUED_PTO') - Latest_Balance
IF Accrual_Start_Period_SD <= Calculation_Period_SD THEN
Accrual_end_date = Calculation_Period_ED
IF Process_Full_Term = 'Y' AND
Effective_Start_Date > Actual_Accrual_Start_Date THEN
Effective_Start_Date = Actual_Accrual_Start_Date
Effective_End_Date = Calculation_Date
/* bug 4047666*/
IF Process_Full_Term = 'N' AND NOT (Accrual_Start_Date WAS DEFAULTED)
AND NOT (Accrual_Latest_Balance WAS DEFAULTED)
AND prm_Accrual_Start_Date > prm_Calculation_Date THEN
Effective_Start_Date = ADD_DAYS(Effective_End_Date,1)
ELSE
/* bug 4047666*/
IF Effective_Start_Date >= Effective_End_Date THEN
Effective_Start_Date = least(Effective_End_Date, Accrual_Start_Period_SD)
RETURN Total_Accrued_PTO, Effective_start_date, Effective_end_date, Accrual_end_date
Regards
Edited by: user13149420 on Sep 5, 2012 2:50 PMissue in tcode : OAC0.. Content server path was incorrect.
-
Stored Procedure issue in receiver JDBC synchronous scenario
Dear Experts,
Below is the description of the Stored Procedure for my requirement which has 1 input and 7 output.
CREATE OR REPLACE PROCEDURE emp_det_proc
p_emp_id IN NUMBER,
cur_det OUT sys_refCURSOR
aS
BEGIN
OPEN cur_det FOR
SELECT * FROM EMP_PERSON_VIEW
WHERE id = p_emp_id;
END emp_det_proc;
Inside the procedure , we can see that Select query is done on a VIEW which has some 7 column and these are the output. The data type description of the ID is VARCHAR2 in Oracle Database 11g VIEW, that's why I maintained VARCHAR in Constant mapping at SAP-PI side.
I am maintaining all the column name present in the view for my JDBC request structure with isOutput and type.
Below is my JDBC request.
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:MT_ECCJDBC_EmpStrdProc_JDBCReq xmlns:ns0="urn:empdet:sap:jdbc:storedprocedure">
- <Statement>
- <emp_det_proc action="EXECUTE">
<table>emp_det_proc</table>
<ID isInput="true" type="VARCHAR">200178</ID>
</emp_det_proc>
</Statement>
</ns0:MT_ECCJDBC_EMPStrdProc_JDBCReq>
I tested with other XSD type like INT/CHAR/ but with the same error.
Unable to execute statement for table or stored procedure. 'emp_det_proc' (Structure 'Statement') due to java.sql.SQLException: ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'EMP_DET_PROC'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
1. I observed that the Key field ID is maintained as NUMBER in Stored Procedure but in the VIEW it is maintained as VARCHAR2.
Could anyone help me to solve the issue with any suggestions?
Regards
RebeccaDear Ramesh,
There are change in the datatype of the Stored Procedure Input parameter. Below is the correct procedure description now.
Select query of the View
My JDBC structure
Observation and querry:
1. In the SP declaration, there is 1 IN parameter which I have created in JDBC structure as p_moi_id and gave the type as INTEGER.
Error : JDBC message processing failed; reason Error processing request in sax parser: Error when executing statement for table/stored proc. 'moi_det_proc' (structure 'Statement'): java.lang.NumberFormatException: For input string: "2*********&49"
I assume since the range of the number is limited . Integers are values up to 2147483647 and the number I am using is greater than this values.
2. I assume I have not included the parameter cur_det as OUT. Instead I have maintained the COLUMN names of Select query of the view. Should I remove all the Out parameters which represents inside the View.
3. What could be the Data type equivalent to Oracle sys_refCURSOR in SAP PI?
Please share you suggestion.
Regards
Rebecca -
Database Adapter and SQL Server procedure issue
Hello,
I am using Jdev 11.1.1.7.0 and SQL Server 2005.
In the Database Adapter configuration wizard, Specify Stored Procedure step, I choose the “GEACupax” schema and got the following error after a click on “Procedure Browse” button:
com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'GEACUPAX.INFORMATION_SCHEMA.SCHEMATA'.
The command Database Adapter tried to execute was:
(from jdev log:) select schema_name from GEACUPAX.INFORMATION_SCHEMA.SCHEMATA order by schema_name;
Note, the schema name has changed to uppercase. I think that is the problem. If I try this query in SQLDeveloper, it returns the same error. I can fix it changing the schema name to “GEACupax”. The case matters.
Any ideas?
Leandro.Vijay,
Thanks for you reply.
I figure out a related bug:
Bug 12859472: Cannot browse store procedure in case-sensitive MS SQL Database
There are two possible workarounds:
1. Use a database name with capital letters
2. Do not use stored procedures, but access the tables directly.
The notes on the Bug ticket describes that the issue would be scheduled to be fixed in PS7 which is 11.1.1.8.
Cheers!
Leandro.
Maybe you are looking for
-
Hi I am trying to create a new DC in NWDS but I keep on getting this message: Invalid project description. What can be done to fix this error? regards yuval
-
I am trying to connect my Canon MG5220 and its not connecting to my macbook running lion?
i am trying to connect my Canon MG5220 and its not connect to my macbook running lion? i updated the drivers to 10.7 lion and i reconnected the printer to my wifi which both devices are connected to. when reinstalling the drivers, it will not connect
-
My system is mac os x ver.10.5.8 How do I install icloud?
I have mac os x ver10.5.8 to install icloud do I have to upgrade to Snow Leopard?
-
new install cs6 production premium .downloaded exe to a usb thet the vendor provided with the 7z file cos i dont have lots of data. .With both in the same folder on the usb running exe rsults in error message asking for an archive file. There are
-
Unicodetable.xml generator
Hi all Check out this really nice tool to generate/create a unicodetable.xml file from a UTF8 based text file: http://www.epic.dk/flash-unicodetable/flash-unicodetable-generator.php