Missed deadline batch job giving dump.
Hi All,
In my PO release workflow scenario, deadline is not working . On searching in this forum I come to know that a batch job u201CSWWDHEXu201D with step u201CRSWWDHEXu201D needs to be scheduled with frequency 3 mins, so i did this. Now the issue is no workitem is getting created and the above batch job is also getting cancelled due to error. The error description is as follows :
Runtime Errors MOVE_NOT_SUPPORTED.
Short text
Conversion from type "D" to "T" not supported.
Error analysis
The fields "ABAPFIELD" (type "D") and "<SWC_CONT>" (type "T")
cannot normally be transported to each other.
Is there any SAP note to be implemented to resolve this issue ?
Can anyone help me in resolving this issue . I would greatly appreciate your help.
regards,
Trimurty
Hi Akshay,
II have copied the Std workflow WS20000075 into a custom one and in the latest end tab, i have selected "Workitem creaton" for Refer Date/Time field and given 5 mins. I have deactivated the workflow in which i have created the containers for date and time and used "Expresion" for latest end and also commented the zmethod in delegated object. Even now also the job is getting cancelled with the same error.
Any idea why is it happening ?
regards,
Trimurty
Similar Messages
-
FM ARCHIVE_SCHEDULE_JOB giving dump as background job?
Hello Everyone,
I am scheduling a report in SM37 which consists of FM ARCHIVE_SCHEDULE_JOB.
And based on the output of FM, some Ztables are updated and some jobs are created in sm37.
Now, when i debugged the background job, i found out that Fm is giving Dump 'NO_RUNTIME_INFO' since sy-batch is not initial.
Due to which Ztables are not updated but the jobs are created....
Can anyone please help me what should i do on this case?
Edited by: Suruchi Razdan on Jun 2, 2011 9:45 AMHi Akshay,
II have copied the Std workflow WS20000075 into a custom one and in the latest end tab, i have selected "Workitem creaton" for Refer Date/Time field and given 5 mins. I have deactivated the workflow in which i have created the containers for date and time and used "Expresion" for latest end and also commented the zmethod in delegated object. Even now also the job is getting cancelled with the same error.
Any idea why is it happening ?
regards,
Trimurty -
hi,
How to find the missing batch job in sm37 which was scheduled to run on 10th jan 2012 but now if i go n check it the job is missing..Please help me in this..Hi,
Please try executing by giving the part of the job name with wild cards (For ex., Z_SDVF06)and giving user name as * and give the time limit. There might be some error in batch job name or user name or combination you were giving.
Also please confirm was it working fine last time and executed successfully. The causes could be one of these.
1. Is there any stack upgrade / Support pack upgrade going on? Pl check with your basis whether they have stopped the mentioned BG jobs?
2. The user ID which schedules the job might have been expired. Try scheduling the job now and check.
3. There would have been some connection error before job execution.
Regards,
P Gomatheeswaran -
Deadline monitoring batch jobs
Hi batch jobs for deadline monitoring are getting hanged for few times. Sometimes it works fine.
I am not getting why it is getting hang out for few times.
If anybody faced this problem, pls share the possibilities.
regards,
KedarHi,
Please check parameters of deadline monitoring especially parameter "Interval for call objects".If its very long in future then possible reason is system is trying to generate calls for this long period and it may that job is not completed with time parameters set by basis administrator.And this may resulting into termination of job.
So try to limit this parameter and also no of maintenace plan if you have a very huge list.Also check with basis person if any such jobs terminated due to very long time they are running
regds,
atul -
Batch job print parameters missing
I have 4 BATCH jobs that output to a pdf via MAIL. The data is shrunk so small that it cannot be read. If I am in SP01, and I try to reprint with changed parameters, only a select few formats are available. (All the ABAP/4 lists).
I went to SPAD -> Full Administration -> Device Types -> Choose the device type -> Formats
I see the the output DEVICE associated with MAIL is PDF1. I checked the formats that are already listed. It seems that some of these will suit my needs - however, most of them are not available to choose when I edit the batch job.
How can I add a different format? I need to test several to find a size that will accommodate a very wide table.
All suggestions welcome.
Thanks!It's pretty huge. Columns A-W. The length varies, but this week's was 195 rows. I tried to create a new format, but I supposed it will never fit on a normal sheet of paper.
Is it possible to "print" to an Excel file from a batch job?
Right now, I am going back into SP01 and downloading to excel and emailing it out.
Think this can be automated?
Thanks for your input -
Batch job to follow up WBT participation in LSO (confirm participation)
Hi,
We are finding a lot of our users in LSO are neglecting to click on "Confirm Participation" in the Learning Portal after successfully completing their web-based training.
Of course, this means that the course remains in their "current" training activities area and most importantly, this means that the qualification related to this course type is not imparted.
Due to this, we are looking at setting up a batch job to run nightly. This job will look for situations where a person has successfully completed eLearning but neglects to confirm participation. In these cases, the system will confirm participation for them.
What is the best way to make this happen?
Thanks
ShaunHi JP,
"Our WBT courses do not get followed up at all in the new standard way."
We experienced this as well after implementing the solution in note 1796928. The cause of our problem turned out to be a missing authorization on the user account we use to run the web content player. In our case, the user had no read authority for infotype 1001 so function LSO_LA_SAVE_LEARNINFO_C never made the call to function ZLSO_IF_AUTO_CONFIRM.
To discover the cause, we needed to debug function LSO_LA_SAVE_LEARNINFO_C, however since it runs in a separate task we couldn't debug directly.
To get around this, we added messages of type X at various points in the function's enhancement code. This forced the function to dump at runtime, and we then looked at the runtime error log to see the contents of the dump message. This enabled us to find the problem. Maybe you could try this same debug-via-dump approach to identify the source of your problem.
Another thing to check is that users have authorization object P_LSO_FOUP.
I also want to mention that as part of our implementation, we made the same enhancement to function LSO_CP_WRITE_SCORMDATA as was made to function LSO_LA_SAVE_LEARNINFO_C so that function LSO_CP_WRITE_SCORMDATA also calls function ZLSO_IF_AUTO_CONFIRM.
Cheers,
Amy -
Hi I am working on batch job .
my program is printing invoice as well as downloading and I have run this program in batch,
I am using the FM job_open , job_submit and job_close.
but it is failing in job_submit with sy-subrc eq 1 .
giving me error bad print parameter , I haven;t done this before.
I think it should be option.
CALL FUNCTION 'JOB_SUBMIT'
EXPORTING
authcknam = SY-UNAME "tbtcjob-authcknam
jobcount = tbtcjob-jobcount
jobname = p_jobnam
language = sy-langu
report = c_reprot
variant = pvariant
EXCEPTIONS
OTHERS = 01.
could anybody pls guide me why it is so???
Regards.
Kusum.you can below code
OPEN DATASET gv_file FOR INPUT IN TEXT MODE ENCODING DEFAULT
WITH SMART LINEFEED.
IF sy-subrc EQ 0.
WHILE sy-subrc IS INITIAL.
READ DATASET gv_file INTO gwa_header_file.
IF sy-subrc NE 0.
EXIT.
ELSE.
APPEND gwa_header_file TO gt_header_file.
ENDIF.
ENDWHILE.
CLOSE DATASET gv_file.
ENDIF.
ENDIF. -
Submit batch job daynamically using batch user id
Hi,
I need to submit the background job dynamically from ABAP program with BATCH user id.
I have created new program. Users will execute program in foreground.
Had issue with USER id. If I give my user id then batch job successfully creating. If I give u2018BAICHu2019 id then it is giving the error.
Am I doing any thing wrong here?
Code:
Open Job
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = jobname
IMPORTING
jobcount = w_jobcount.
SUBMIT zrufilep WITH p_file1 = sourfile
WITH p_file2 = destfile
VIA JOB jobname NUMBER w_jobcount
USER 'BATCH_FI'
AND RETURN.
Schedule and close job.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = w_jobcount
jobname = jobname
sdlstrtdt = sy-datum
sdlstrttm = sy-uzeit.
ThanksCan any body tell me if that authorization is given to the user, can he submit any other job from front end?
As you can see if he can, it will conflict security issues of business. So If he is not permitted to execute these kind of statements in any other program, would he be confined to using diff user in this program only?
Or is there any other way-out to confine the user for getting this authorization for a single T-code or such? -
Creating a simple batch job to run every month and perform a deletion
dear all;
This is just for learning purposes
I have created a simple table below
create table t1
vid varchar2(30),
quantity number(6,2),
primary key (vid)
insert into t1
(vid, quantity)
values
('G1', 2);
insert into t1
(vid, quantity)
values
('G2', 3);
insert into t1
(vid, quantity)
values
('G3', 0);Now, I would like to create a simple batch job, that runs every month which is used to delete all vid that has a quantity of 0...How do i go about doing that. I have searched the web but can't seems to find any useful info so far..
Edited by: user13328581 on Sep 8, 2010 8:32 AMyou are missing a semi-colon in your package procedure call inside your begin ... end.
begin
dbms_scheduler.create_job
job_name => 'jobdeletezeroquantity'
, program_name => 'PLSQL_BLOCK'
, job_action => 'BEGIN mfg.testpkg.deletezeroquantity END;' <-- missing semi-colon on mfg.testpkg.deletezeroquantity
, start_date => systimestamp
, repeat_interval => 'freq=monthly; byday = 1'
, end_date => null
, enabled => True
, comments => 'used to run a delete procedure every month'
end;should be:
begin
dbms_scheduler.create_job
job_name => 'jobdeletezeroquantity'
, program_name => 'PLSQL_BLOCK'
, job_action => 'BEGIN mfg.testpkg.deletezeroquantity; END;'
, start_date => systimestamp
, repeat_interval => 'freq=monthly; byday = 1'
, end_date => null
, enabled => TRUE
, comments => 'used to run a delete procedure every month'
end; -
Report (uses LDB's) giving dump due to memory problem
Hi,
I have a report which is giving dump in production due to memory problem.
Memory is increased from basis part,but still getting same error.
the report uses Logical DataBases.
Can anyone suggest solution to solve this problem.
regards
MallikHi Amit,
thanks for ur quick reply and ur idea "make changes in development and write the logic to read records in chunks".
I have n't worked on LDB's till now.So i Don't know how I can read the data in chunks from LDB's.
Can u Plz give some idea how to read data in chunks.
Iam also sending the code,if possible ,plz go thru it and give me some idea.
Hope u will help me.
CODE.
REPORT ZAROP028
ABLES: PROJ, " Project definition
PRPS_R, " WBS element
PRPS, " WBS elements
TJ02T, " System Status Values
TCJ1, " Project Types
JEST, " Active System Status
COSP1, " cost totals - external postings
COSS1, " cost totals - internal postings
COVP11, " Line Items by Prd & Doc Header
COVP12, " Line Items by Prd & Doc Header
BHDGD, " Page heading table.
AUFK, " Order Master Data for WBS (LDB)
ANEP, " Asset line item
COBRB, "Distribution Rules Settlement Ru
SETHIER, "Hierarchy Structure
TKA02, "Controlling Area Assignment
CEPC, "Profit Center Master Data
PSDYPD, "Dummy struct for GET proj late
PSDYPR, "Dummy struct for GET PRPS_R late
PSDYNP. "Dummy struct for GET AUFK late
CONSTANTS:
C_E TYPE C VALUE 'E',
C_I TYPE C VALUE 'I',
C_N TYPE C VALUE 'N',
C_X TYPE C VALUE 'X',
C_Y TYPE C VALUE 'Y',
C_NE(2) TYPE C VALUE 'NE',
C_EQ(2) TYPE C VALUE 'EQ',
C_USD(3) TYPE C VALUE 'USD',
C_04(2) TYPE C VALUE '04',
C_I0046(5) TYPE C VALUE 'I0046'
various working storage
DATA:
W_TXT04(4) TYPE C. " make status uppercase
DATA: ACTIVE(1) TYPE C VALUE 'A', " type for status_flag
INACTIVE(1) TYPE C VALUE 'I', " type for status_flag
STATUS_FLAG(1) TYPE C VALUE 'I', " wbs active or inactive?
INACTIVEDT LIKE SY-DATUM, " inactive date for wbs
REC_FLAG TYPE C VALUE 'N', " records retrieved?
DAYS_INACTIVE TYPE I, " days wbs has been inac
W_LOWINACT TYPE I, " smallest inactive days
WBS_CNT TYPE I, " cnt for wbs in status
W_AUC_COST TYPE P DECIMALS 2, " unsettled auc cost
W_VNAME LIKE PRPS_R-VNAME. " venture number storage
DATA: BEGIN OF ITAB OCCURS 0, "MELI-5F2KMH
COMPCODE LIKE PROJ-VBUKR, " company code
PLANT LIKE PROJ-WERKS, " plant
PROJECT LIKE PROJ-PSPID, " project
NAME LIKE PROJ-POST1, " project description
DINACT TYPE I, " days proj inactive
PRCTR LIKE PROJ-PRCTR, " profit center
SETID LIKE SETHIER-SETID, " level 2 pc hier
DESCRIPT LIKE SETHEADERT-DESCRIPT,
VERNA LIKE PROJ-VERNA, " person responsible
AUC TYPE P DECIMALS 2, " AUC unsettled amount
END OF ITAB.
DATA: BEGIN OF I_INACT OCCURS 0,
STAT LIKE JEST-STAT,
INACT LIKE JEST-INACT,
END OF I_INACT.
DATA: EQ_FLAG TYPE C, " system status flag
NE_FLAG TYPE C. " system status flag
TYPES: BEGIN OF T_COSTS,
PSPID LIKE PROJ-PSPID,
BUDAT LIKE COVP11-BUDAT,
END OF T_COSTS.
DATA: I_PROJ LIKE PROJ OCCURS 0 WITH HEADER LINE,
I_PRPS_R LIKE PRPS_R OCCURS 0 WITH HEADER LINE,
I_COSTS TYPE T_COSTS OCCURS 0 WITH HEADER LINE.
DATA: W_RECORDS TYPE I.
DATA: FOUND_FLAG TYPE C. " CHAD-4PRPDE
DATA: BEGIN OF I_HIER OCCURS 0. "FEAT-5BNRRP
INCLUDE STRUCTURE SETHIER. "FEAT-5BNRRP
DATA: END OF I_HIER. "FEAT-5BNRRP
RANGES: R_TJ02T FOR TJ02T-ISTAT.
DATA: W_LVL2 LIKE SETHIER-SETID. "MELI-5F2KMH
SELECTION-SCREEN BEGIN OF BLOCK PROJECT WITH FRAME TITLE TEXT-B01.
PARAMETERS: P_BUDAT LIKE COVP11-BUDAT,
DAYINACT(3) TYPE N DEFAULT '090'.
SELECTION-SCREEN SKIP. "FEAT-5BNRRP
PARAMETERS: P_PC-SET LIKE CEPC-KHINR OBLIGATORY "FEAT-5BNRRP
DEFAULT 'SCH_STREAM'. "FEAT-5BNRRP
SELECTION-SCREEN END OF BLOCK PROJECT.
SELECTION-SCREEN BEGIN OF BLOCK SORT WITH FRAME TITLE TEXT-B02.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(13) TEXT-C01.
SELECTION-SCREEN POSITION 15.
PARAMETERS: P_PLANT RADIOBUTTON GROUP SORT DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(13) TEXT-C03. "FEAT-5BNRRP
SELECTION-SCREEN POSITION 15.
PARAMETERS: P_PRCTR RADIOBUTTON GROUP SORT. "FEAT-5BNRRP
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(13) TEXT-C04.
SELECTION-SCREEN POSITION 15.
PARAMETERS: P_DAYS RADIOBUTTON GROUP SORT.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK SORT.
AT SELECTION-SCREEN OUTPUT.
PERFORM USER_PARM_INIT.
AT SELECTION-SCREEN.
PERFORM CHECK_PROJ_CRITERIA.
START-OF-SELECTION.
PERFORM BUILD_PC_HIER USING P_PC-SET.
Project Definition *
GET PROJ.
MOVE-CORRESPONDING PROJ TO I_PROJ. "MELI-5F2KMH
APPEND I_PROJ. "MELI-5F2KMH
CLEAR I_PROJ.
WBS element table
GET PRPS_R.
MOVE-CORRESPONDING PRPS_R TO I_PRPS_R.
APPEND I_PRPS_R.
CLEAR I_PRPS_R.
GET all order and cost objects associated with order and elements
GET AUFK.
GET COSP1.
CHECK COSP1-WRTTP EQ C_04. " check if value type '04'
Get last date that the wbselement was updated and determine status
GET COVP11.
MOVE PROJ-PSPID TO I_COSTS-PSPID.
MOVE COVP11-BUDAT TO I_COSTS-BUDAT.
APPEND I_COSTS.
CLEAR I_COSTS.
Loop through Internal cost statements
GET COSS1.
CHECK COSS1-WRTTP EQ C_04. " if value type is 04
Get last date that the wbselement was updated and determine status
GET COVP12.
MOVE PROJ-PSPID TO I_COSTS-PSPID.
MOVE COVP12-BUDAT TO I_COSTS-BUDAT.
APPEND I_COSTS.
CLEAR I_COSTS.
END-OF-SELECTION.
PERFORM BUILD_TABLE.
DELETE ITAB WHERE DINACT < DAYINACT.
DESCRIBE TABLE ITAB LINES W_RECORDS.
IF W_RECORDS = 0.
MESSAGE I024.
ENDIF.
PERFORM WRITE_REPORT.
FORM CHECK_PROJ_CRITERIA *
This form verifies correct selection criteria has been entered from *
the selection screen inputs. If incorrect data has been entered the*
valid information messages are displayed. *
FORM CHECK_PROJ_CRITERIA.
check for either posting date or inactivity criteria but not both
IF NOT P_BUDAT IS INITIAL AND NOT DAYINACT IS INITIAL.
MESSAGE E119.
ENDIF.
IF NOT DAYINACT IS INITIAL. "check s/o day inactive
IF NOT DAYINACT <= 998.
MESSAGE E018.
ELSE.
INACTIVEDT = SY-DATUM - DAYINACT.
ENDIF.
if days inactive is initial set INACTIVEDT using the posting date
ELSE.
INACTIVEDT = P_BUDAT.
ENDIF.
ENDFORM. " CHECK_PROJ_CRITERIA
FORM GET_AUC_COSTS *
This form retrieves AUC costs for records based on AUFK2 where they *
meet project criteria. This pulls the unsettled amount on a AUC as *
a settlement receiver. *
FORM GET_AUC_COSTS USING F_OBJNR F_BUKRS.
CONSTANTS:
C_SETLEMENT_ANNUAL LIKE COBRB-PERBZ VALUE 'JHR', "Annual Settlement
C_DEP_AREA_STD LIKE ANEP-AFABE VALUE '01'. "Std depreciation
DATA: L_ANLC LIKE ANLC OCCURS 0 WITH HEADER LINE,
L_ANLCV LIKE ANLCV OCCURS 0 WITH HEADER LINE,
BEGIN OF L_COBRB OCCURS 0, "SRIN-6ZNEAR
ANLN1 LIKE COBRB-ANLN1,
ANLN2 LIKE COBRB-ANLN2,
END OF L_COBRB,
F_H_COST TYPE P DECIMALS 2.
SELECT ANLN1 ANLN2 FROM COBRB
INTO TABLE L_COBRB " SRIN-6ZNEAR
WHERE OBJNR = F_OBJNR
AND PERBZ = C_SETLEMENT_ANNUAL.
IF SY-SUBRC NE 0. " gary-463qbd
EXIT. " gary-463qbd
ENDIF. " gary-463qbd
LOOP AT L_COBRB. " gary-463qbd
CLEAR: F_H_COST.
SELECT SINGLE * FROM ANLC
INTO L_ANLC
WHERE BUKRS = F_BUKRS AND
ANLN1 = L_COBRB-ANLN1 AND
ANLN2 = L_COBRB-ANLN2 AND
GJAHR = SY-DATUM(4) AND
AFABE = C_DEP_AREA_STD AND
ZUJHR = '0000' AND
ZUCOD = '0000'.
IF SY-SUBRC = 0.
CALL FUNCTION 'FI_AA_VALUES_CALCULATE'
EXPORTING
I_ANLC = L_ANLC
IMPORTING
E_ANLCV = L_ANLCV.
F_H_COST = L_ANLCV-BCHWRT_LFD.
ENDIF.
ADD: F_H_COST TO W_AUC_COST.
ENDLOOP. " gary-463qbd
ENDFORM. " GET_AUC_COSTS
FORM CHECK_INACTIVE_DATE *
This form checks the computed inactive date based on the formal *
parameter DAYS_INACTIVE. If DAYS_INACTIVE is more current than the *
current lowest inactive date W_LOWINACT then W_LOWINACT is replaced *
with this value. *
FORM CHECK_INACTIVE_DATE USING DAYS_INACTIVE.
IF DAYS_INACTIVE < W_LOWINACT.
MOVE DAYS_INACTIVE TO W_LOWINACT.
ELSEIF W_LOWINACT EQ 0.
MOVE: DAYS_INACTIVE TO W_LOWINACT,
W_LOWINACT TO ITAB-DINACT.
ENDIF.
ENDFORM. " CHECK_INACTIVE_DATE
FORM build_table *
collect fields to the internal table ITAB *
FORM BUILD_TABLE.
SORT I_COSTS BY PSPID ASCENDING BUDAT DESCENDING.
LOOP AT I_PROJ.
CLEAR W_AUC_COST.
READ TABLE I_COSTS WITH KEY PSPID = I_PROJ-PSPID
BINARY SEARCH.
IF SY-SUBRC = 0.
ITAB-DINACT = SY-DATUM - I_COSTS-BUDAT.
ELSE.
ITAB-DINACT = SY-DATUM - I_PROJ-ERDAT.
ENDIF.
LOOP AT I_PRPS_R WHERE PSPHI = I_PROJ-PSPNR AND
BELKZ = 'X'.
IF NOT I_PRPS_R-IMPRF IS INITIAL.
PERFORM GET_AUC_COSTS USING I_PRPS_R-OBJNR
I_PRPS_R-PBUKR.
ELSE.
CONTINUE.
ENDIF.
ENDLOOP.
ITAB-COMPCODE = I_PROJ-VBUKR.
ITAB-PLANT = I_PROJ-WERKS.
ITAB-PROJECT = I_PROJ-PSPID.
ITAB-NAME = I_PROJ-POST1.
ITAB-PRCTR = I_PROJ-PRCTR.
ITAB-VERNA = I_PROJ-VERNA.
ITAB-AUC = W_AUC_COST.
IF ITAB-DINACT > DAYINACT.
PERFORM GET_HIER_INFO.
ENDIF.
APPEND ITAB.
CLEAR ITAB.
ENDLOOP.
ENDFORM. " BUILD_TABLE
FORM STATUS_CHECK *
Checks the active status of the project definition for the *
parameter values assigned. *
FORM STATUS_CHECK USING F_OBJNR.
begin of GARY-463QBD
CLEAR: I_INACT.
REFRESH: I_INACT.
MOVE: C_N TO EQ_FLAG,
C_Y TO NE_FLAG.
retrieve status for a given record
SELECT STAT INACT
INTO TABLE I_INACT
FROM JEST
WHERE OBJNR EQ F_OBJNR AND
INACT NE C_X.
sort internal status entered by user
SORT R_TJ02T BY OPTION DESCENDING.
check all current object statuses meet user entered criteria
LOOP AT R_TJ02T WHERE OPTION EQ C_NE.
check for user selected options
READ TABLE I_INACT WITH KEY STAT = R_TJ02T-LOW.
IF SY-SUBRC EQ 0.
MOVE C_N TO NE_FLAG.
EXIT.
ENDIF.
ENDLOOP.
LOOP AT R_TJ02T WHERE OPTION EQ C_EQ.
check for user selected options
READ TABLE I_INACT WITH KEY STAT = R_TJ02T-LOW.
IF SY-SUBRC EQ 0.
MOVE C_Y TO EQ_FLAG.
EXIT.
ENDIF.
ENDLOOP.
check for no statuses entered as EQ option
LOOP AT R_TJ02T WHERE OPTION EQ C_EQ.
EXIT.
ENDLOOP.
if so move c_y to eq_flag
IF SY-SUBRC NE 0.
MOVE C_Y TO EQ_FLAG.
ENDIF.
if both eq_flag or ne_flag are true(c_y) move true to valid_flag
IF ( EQ_FLAG EQ C_N OR
NE_FLAG EQ C_N ).
REJECT 'PRPS_R'.
ENDIF.
end of GARY-463QBD
ENDFORM. " STATUS_CHECK
Form WRITE_REPORT
FORM WRITE_REPORT.
IF P_PLANT EQ 'X'.
SORT ASCENDING BY ITAB-BUSAREA "FEAT-5BNRRP
SORT ITAB ASCENDING BY PLANT
PROJECT.
ELSEIF P_PRCTR EQ 'X'.
SORT ITAB ASCENDING BY PRCTR "FEAT-5BNRRP
PROJECT.
ELSE.
SORT ITAB ASCENDING BY DINACT
PROJECT.
ENDIF.
FORMAT COLOR COL_BACKGROUND INTENSIFIED ON.
"MELI-5F2KMH
LOOP AT ITAB. "MELI-5F2KMH
WRITE: / ITAB-COMPCODE,
9(4) ITAB-PLANT,
17(12) ITAB-SETID,
33(40) ITAB-DESCRIPT,
77(10) ITAB-PRCTR,
91(24) ITAB-PROJECT,
119(40) ITAB-NAME,
163(25) ITAB-VERNA,
192(15) ITAB-AUC CURRENCY C_USD,
211(8) ITAB-DINACT.
ENDLOOP.
ENDFORM. " WRITE_REPORT
Form USER_PARM_INIT
Initializes user parameter settings
FORM USER_PARM_INIT.
ENDFORM. " USER_PARM_INIT
At top of every page, generate Amoco-standard header.
TOP-OF-PAGE.
MOVE: '0' TO BHDGD-INIFL,
SY-LINSZ TO BHDGD-LINES,
SY-UNAME TO BHDGD-UNAME,
SY-REPID TO BHDGD-REPID,
SY-TITLE TO BHDGD-LINE1,
SPACE TO BHDGD-DOMAI,
SPACE TO BHDGD-SEPAR,
SPACE TO BHDGD-MIFFL.
IF P_PLANT EQ 'X'.
MOVE TEXT-H01 TO BHDGD-LINE2.
ELSE.
MOVE TEXT-H03 TO BHDGD-LINE2. "FEAT-5BNRRP
ENDIF.
temporarily clear sy-mandt to remove "europe" from header "FEAT-5BNRRP
DATA: W_MANDT LIKE SY-MANDT.
BHDGD-BUKRS = SPACE.
W_MANDT = SY-MANDT.
CLEAR SY-MANDT.
FORMAT COLOR COL_BACKGROUND INTENSIFIED OFF.
PERFORM BATCH-HEADING(RSBTCHH0).
FORMAT RESET.
reset sy-mandt "FEAT-5BNRRP
SY-MANDT = W_MANDT.
PERFORM PGH_WRITE_HEADING USING TEXT-003 INACTIVEDT. "MELI-5F2KMH
SKIP 1.
ULINE.
write heading info
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE: /1(5)'CCode',
9(5)'Plant',
17(12)'Level 2 Node',
33(40)'Level 2 Node Description',
77(10)'Profit Ctr',
91(18)'Project Definition',
119(19)'Project Description',
163(18)'Person Responsible',
192(15)' AUC Unsettled',
211(13)'Days Inactive'.
end FEAT-5BNRRP
BEGIN FEAT-5BNRRP NEW FORMS
FORM BUILD_PC_HIER
FORM BUILD_PC_HIER USING SETID.
DATA: W_SETID LIKE SETHIER-SETID,
W_NEWSETID LIKE SETHIER-SETID.
CONCATENATE '0H' SETID INTO W_SETID.
CALL FUNCTION 'G_SET_GET_ID_FROM_NAME'
EXPORTING
SHORTNAME = W_SETID
TABNAME = 'GLPCT'
SETCLASS = '0106'
SUPRESS_POPUP = 'X'
OLD_SETID = W_NEWSETID
IMPORTING
NEW_SETID = W_NEWSETID.
CALL FUNCTION 'G_SET_TREE_IMPORT'
EXPORTING
CLIENT = SY-MANDT
LANGU = SY-LANGU
SETID = W_NEWSETID
TABNAME = 'GLPCT'
TABLES
SET_HIERARCHY = I_HIER
EXCEPTIONS
SET_NOT_FOUND = 1
ILLEGAL_FIELD_REPLACEMENT = 2
ILLEGAL_TABLE_REPLACEMENT = 3
OTHERS = 4.
CLEAR I_HIER.
ENDFORM.
FORM GET_HIER_INFO
FORM GET_HIER_INFO.
DATA: W_SETID LIKE SETHIER-SETID,
W_KHINR LIKE CEPC-KHINR,
W_INDEX TYPE I.
CLEAR: W_SETID,
W_KHINR,
W_INDEX.
DETERMINE PROFIT CENTER NODE
SELECT SINGLE KHINR
FROM CEPC
INTO W_KHINR
WHERE PRCTR EQ ITAB-PRCTR.
CONCATENATE '0106' I_PROJ-VKOKR W_KHINR
INTO W_SETID.
READ TABLE I_HIER WITH KEY
SETID = W_SETID.
IF SY-SUBRC EQ 0.
W_INDEX = SY-TABIX.
DO.
READ TABLE I_HIER INDEX W_INDEX.
IF W_INDEX = 0.
ITAB-SETID = 'Not Found'.
EXIT.
ENDIF.
IF I_HIER-LEVEL = 1.
ITAB-SETID = I_HIER-SETID+8(12).
ITAB-DESCRIPT = I_HIER-DESCRIPT.
EXIT.
ENDIF.
IF I_HIER-LEVEL = 2.
ITAB-SETID = I_HIER-SETID+8(12).
ITAB-DESCRIPT = I_HIER-DESCRIPT.
EXIT.
ENDIF.
W_INDEX = W_INDEX - 1.
ENDDO.
ELSE.
ITAB-SETID = 'Not Found'.
ENDIF.
ENDFORM.
END FEAT-5BNRRP NEW FORMS
*& Form PGH_WRITE_HEADING WR MELI-5F2KMH
FORM PGH_WRITE_HEADING USING L_V1 L_V2.
DATA: L_LINSZ LIKE SY-LINSZ.
DATA: L_TITLEL LIKE SY-TABIX.
DATA: L_START LIKE SY-TABIX.
DATA: L_DATE LIKE SY-DATUM.
DATA: L_FORMATTED_DATE(10) TYPE C.
DATA: L_TITLE(27) TYPE C.
MOVE L_V2 TO L_DATE.
WRITE L_DATE TO L_FORMATTED_DATE.
CONCATENATE L_V1 L_FORMATTED_DATE INTO L_TITLE
SEPARATED BY SPACE.
L_LINSZ = SY-LINSZ.
L_TITLEL = STRLEN( L_TITLE ).
L_START = ( L_LINSZ / 2 ) - ( L_TITLEL / 2 ) - 2.
NEW-LINE.
POSITION L_START.
WRITE: L_TITLE.
regards
Mallik -
Hi Abappers,
I have a peculiar scenario.
My report has 2 PERFORMS lets say
PERFORM1:
PERFORM2:
I have a DATE criterion in PERFORM 1.
Based on that date only I have to execute my PERFORM2.
Ex: The Date consideration is Suspension of a Contract Date: which is 01/12/2010.(dd/mm/yyyy)
Now based on the this date I have to execute the 2nd PERFORM.
I mean I have to create a Sales Order on this date only.
To summarize,Execution of a program in a future date whose date is dynamic in nature
Can i achieve this using a BATCH JOB.
Please tell me how to schedule a BATCH JOB for a future date.
Can i call a BATCH JOB froma REPORT.
Please your inputs shall be of great help to me in solving my problem.
Thanks and Regards
Srikanth.PHi Sakshi,
In that case of using the FM
g_date is sy-datum.
g_time is sy-uzeit.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
* DELANFREP = ' '
* JOBGROUP = ' '
JOBNAME = 'Z_BATCHJOB_TRGT'
SDLSTRTDT = g_date
SDLSTRTTM = g_time.
* JOBCLASS =
* IMPORTING
* JOBCOUNT =
* CHANGING
* RET =
* EXCEPTIONS
* CANT_CREATE_JOB = 1
* INVALID_JOB_DATA = 2
* JOBNAME_MISSING = 3
* OTHERS = 4
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
In the above case how would the Job name get mapped to the Report. / Or / How can we assign the Job Name to the Report.
There is no scope of giving the Report name in the FM.
Can you please elucidate.(EXP parameters)
By the way Thanks for your quick response.
Thanks and Regards
Srikanth -
How to start a batch job through a web service call
I have a batch job created Data Services that I would like to be able to start through a web service call.
I have exposed the batch job as a Web Service through the mangement console.
The Integrators guide is not the clearest piece of documentation that I have ever read so I'm now having a little trouble.
In C# I'm issuing the following statements:
DataServices.Batch_JobsClient batchClient = new DataServices.Batch_JobsClient();
batchClient.Open();
DataServices.Testjob_Match_GlobalVariables myVar = new DataServices.Testjob_Match_GlobalVariables();
myVar.ptd_FilePath = "D:
Jobs
Test";
batchClient.Testjob_Match(myVar);
That all executes without error -- but the job is not started. Obviously I'm missing a step here but I can not figure out what is needed to acutally start the job execution from the Integrators Guide.
Any help would be appricated.first test invoking the batch job webservice using SoapUI
does your client application logs the SOAP message that is sent to DS WebServer ?
Check the %LINK_DIR%\lg\webservices.log if there is any errors logged in it ? -
Force FM execution on batch job work process
Hi!
Is it possible to asynchronously start FM execution on batch job work process?
Additions:
CALL FUNCTION func STARTING NEW TASK taskname.
CALL FUNCTION func IN BACKGROUND TASK.
starts FM execution just on another dialog process.
Context of requirement:
There is a program that may be logically splitted into two parts:
- dialog part where data is collected from user input
- BAPI call with a tons of parameters(structures, internal tables) formed on user input
So the problem - system dump by timeout during BAPI execution.
The only solution is to execute BAPI functionality on work process without timeout limitations - batch job work process.
There may be two approaches:
- pass parameters to report and schedule its execution in background job. But here arise question how to pass these dynamic parameters? SAP memory doesn't available for background job work process and "SUBMIT WITH FREE SELECTIONS texpr" seems to be intended for LDB or anyway not for such purposes.
- force FM execution on background job work process - so how if it possible?
Appreciate your suggestions.
Regards,
Maxim.Hi Maxim,
Look at this example program where the user can run it online to enter the input values in the selection screen and then the program just goes into background mode, basically achieved by submitting the same program again skipping the selection screen. This is one more option for you.
REPORT ztest.
PARAMETERS: p_vbeln LIKE vbak-vbeln,
p_bkrun NO-DISPLAY.
DATA: ls_vbak LIKE vbak.
DATA: v_answer,
v_jobcount LIKE tbtcjob-jobcount.
IF p_bkrun IS INITIAL.
*-- not background processing
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
textline1 = 'This may time out.'
textline2 = 'Do you want to run in background?'
titel = 'Warning!!!'
cancel_display = space
IMPORTING
answer = v_answer.
IF v_answer = 'J'.
*-- run in the background
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = 'ZTEST'
IMPORTING
jobcount = v_jobcount
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
EXIT.
ENDIF.
*-- submit the program in the background
SUBMIT ztest
WITH p_bkrun = 'X'
WITH p_vbeln = p_vbeln
USER sy-uname
VIA JOB 'ZTEST' NUMBER v_jobcount AND RETURN.
*-- close the job
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = v_jobcount
jobname = 'ZTEST'
strtimmed = 'X'
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'W' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
EXIT.
ELSE.
CLEAR v_answer.
ENDIF.
ENDIF.
CHECK v_answer IS INITIAL.
SELECT SINGLE * FROM vbak
INTO ls_vbak
WHERE vbeln = p_vbeln.
IF sy-subrc <> 0.
WRITE:/ 'Invalid Order Id.'.
ENDIF.
END-OF-SELECTION.
CHECK v_answer IS INITIAL.
IF p_bkrun IS INITIAL.
WRITE:/ 'Here is the result running the program in foreground.'.
ELSE.
WRITE:/ 'Here is the result running the program in background.'.
ENDIF.
WRITE:/ ls_vbak-vbeln,
ls_vbak-vkorg.
Let me know if you have any questions.
Srinivas -
Hi Friends,
I have a requirement to set up a batch job to run every 15 minutes to print some labels. The catch is that it has to run only on working days between 6:15 AM and 6:15 PM. I believe that we can schieve the working days part by giving the factory calendar in restrictions and selecting the option 'Do not execute job on Sundays or Holid.' but I am unable to find a way to restrict is based on time. Is there any setting ro parameter in SM36 that can help achieve this or is there any other workaround for this.
Thanks in advance for any hekp you can provide.
~ PraveenHi Praveen,
we had faced a similar issue and were not able to find anything substantial.
What can be done as a workaround is to schedule the job periodically based on calendar to run every fifteen minutes and in the program code you could write the logic to terminate the program if time is not between the stipulated hours. -
MRP Batch job RMMRP000 not woking but MD01 works
Hi Gurus,
We have a batch job running nightly for program RMMRP000 (MRP) in the morning when we check it, it does not propose any requirment. But when we run MD01 in the morning. It proposes requirments for materials. Why is this happening? I was told to check if the material is in the planning file and it is.
What Am i missing.
Thanks,
JogradHi,
That's okay, I think your background job running is no problem, because there are 64 materials planned. You should double check the other parts' planning file entry, whether they should be taken into account the MRP run? Normally there are the following prerequisitions:
Material master data changed, e.g. some fields in MRP1, 2, 3 and 4 views;
BoM or Routing changed;
The requirements of parts with Higher Low-Level code changed, e.g. sales order, sales scheduling agreement;
Production plan changed.
And so on, all data is relevant to MRP. Check your production plan, it's daily plan or weekly plan!
Regards
Tao
Maybe you are looking for
-
Why can't I print a 3 page pdf document?
I have an HP Laserjet P1102W. I am trying to print a 3 page pdf document. The print preview looks correct but when I go to print it prints a blank first page. The second page prints correctly but the 3rd page won't print at all and I get a error ligh
-
Matlab script no longer works after upgrade of matlab
First of all im using labview 7.1.1 to execute a vi which uses some labview scripts to do the bulk of the number crunching and labviews excellent interface. The problem happened when i recently was forced to use Matlab 7.1 R14 SP3 because some of my
-
how can I open a report.pdf file that shows error: file cannot be previewed because of an error w/ pdf preview handler
-
Special G/L indicator H is not defined for down payments
Can Any body help me please... I am giving the error details when i am posting Speical GL in F-37. Actually i want to post a Security Deposit made against Customer. Special G/L indicator H is not defined for down payments Message no. F5053 Diagnosis
-
What is the main difference between BPEL and ESB
Hi all, I am making use ESB in my application .Where the my client application calls ESB and inturn the ESB calls the BPEL process . I want to know the differences between BPEL and ESB,I came to know that ESB can do messaging and routing ,where my BP