Program Output
Please tell me the difference in output's of the below codes.
parameters:p_matnr like mara-matnr.
select * from mara into table i_mara from mara
where matnr = p_matnr.
if sy-subrc eq 0.
loop at i_mara into wa_mara.
write:/ wa_mara-matnr.
endloop.
endif.
select-options:s_matnr for mara-matnr.
select * from mara into table i_mara from mara
where matnr in s_matnr.
if sy-subrc eq 0.
loop at i_mara into wa_mara.
write:/ wa_mara-matnr.
endloop.
endif.
Now execute the two blocks of above code independently. Execute the program with out entering the materials and see the difference in outputs.
Hi,
select-options:s_matnr for mara-matnr.
When you declare select-options a selection tables like
Internal table with 4 fields like SIGN,OPTION,LOW and High gets
created to store the multiple values that are entered in the
select -options.and and we use IN in where condition for
that s select-options field
parameters:p_matnr like mara-matnr.
Parameters takes single value
and we use = in where condition for that field.
When you declare select-options a selection tables like Internal table with 4 fields like SIGN,OPTION,LOW and High gets created to store the multiple values that are entered in the select -options.
and and we use IN in where condition for that s select-options field
plz go through the below link...
http://www.sap-basis-abap.com/abap/difference-between-select-options-and-parameters.htm
Regards
Kiran Sure
Similar Messages
-
Getting Error While Attaching Concurrent Program Output PDF file for POAPPRV Workflow
Hi All,
I am getting the below error when I am trying to attach concurrent program output to the PO Approval Notification.
An Error occurred in the following Workflow.
Item Type = POAPPRV
Item Key = 1040589-528378
User Key =945871
Error Name = WF_ERROR
Error Message = [WF_ERROR] ERROR_MESSAGE=3835: Error '-20002 - ORA-20002: [WFMLR_DOCUMENT_ERROR]' encountered during execution of Generate function 'WF_XML.Generate' for event 'oracle.apps.wf.notification.send'. ERROR_STACK=
Wf_Notification.GetAttrblob(3604701, ZZ_PREVIOUS_PO_COMPARE, text/html)
WF_XML.GetAttachment(3604701, text/html)
WF_XML.GetAttachments(3604701, http://oraerp.am.corp.xxxx.com:8099/pls/DEV, 11283)
WF_XML.GenerateDoc(oracle.apps.wf.notification.send, 3604701)
WF_XML.Generate(oracle.apps.wf.notification.send, 3604701)
WF_XML.Generate(oracle.apps.wf.notification.send, 3604701)
Wf_Event.setMessage(oracle.apps.wf.notification.send, 3604701, WF_XML.Generate)
Wf_Event.dispatch_internal()
Error Stack =
Activity ID = 190844
Activity Label = AL_NOTIFY_APPROVER_PROCESS:ZZ_PO_PO_APPROVE_ATTCH
Result Code = #MAIL
Notification ID = 3604701
There are several threads for this error however I cannot find any specific solution to the problem.
Please find the code below -
wf_engine.setitemattrdocument(itemtype=>itemtype,
itemkey=> itemkey,
aname=>'ZZ_PREVIOUS_PO_COMPARE',
documentid =>'PLSQLBLOB:zz_po_reqapproval_init1.xx_notif_attachments/' || to_char(l_request_id_prev_po)||':'||to_char(l_document_num));
-- here l_request_id_q_and_s is the request id of the program and l_document_num is the PO document number
PROCEDURE xx_notif_attachments(p_request_id IN VARCHAR2,
p_document_num IN VARCHAR2,
p_document IN OUT BLOB,
p_document_type IN OUT VARCHAR2) IS
v_lob_id NUMBER;
v_document_num VARCHAR2(15);
v_document_prefix VARCHAR2(100);
v_file_name VARCHAR2(500);
v_file_on_os BFILE;
v_temp_lob BLOB;
v_dest_offset NUMBER := 1;
v_src_offset NUMBER := 1;
v_out_file_name VARCHAR2(2000);
v_conc_prog_name VARCHAR2(500);
v_conc_req_id NUMBER;
CURSOR get_output_file(p_concurrent_request_id NUMBER) IS
SELECT cr.outfile_name, cp.concurrent_program_name
FROM fnd_concurrent_requests cr, fnd_concurrent_programs_vl cp
WHERE request_id = p_concurrent_request_id
AND cp.concurrent_program_id = cr.concurrent_program_id;
BEGIN
-- set_debug_context('xx_notif_attach_procedure');
v_conc_req_id := to_number(substr(p_request_id,
1,
instr(p_request_id, ':') - 1));
v_document_num := substr(p_request_id,
instr(p_request_id, ':') + 1,
length(p_request_id) - 2);
OPEN get_output_file(v_conc_req_id);
FETCH get_output_file
INTO v_out_file_name, v_conc_prog_name;
CLOSE get_output_file;
v_out_file_name := substr(v_out_file_name,
instr(v_out_file_name, '/', -1) + 1);
v_file_name := to_char(v_document_num) || '-Previous_PO_Rev.pdf';
utl_file.fcopy(src_location => 'APPS_OUT_DIR',
src_filename => v_out_file_name,
dest_location => 'PO_DATA_DIR',
dest_filename => v_file_name);
-- v_lob_id := to_number(v_document_id);
v_file_on_os := bfilename('PO_DATA_DIR', v_file_name);
dbms_lob.createtemporary(v_temp_lob, cache => FALSE);
dbms_lob.fileopen(v_file_on_os, dbms_lob.file_readonly);
dbms_lob.loadblobfromfile(dest_lob => v_temp_lob,
src_bfile => v_file_on_os,
amount => dbms_lob.getlength(v_file_on_os),
dest_offset => v_dest_offset,
src_offset => v_src_offset);
dbms_lob.fileclose(v_file_on_os);
p_document_type := 'application/pdf;name=' || v_file_name;
dbms_lob.copy(p_document, v_temp_lob, dbms_lob.getlength(v_temp_lob));
EXCEPTION
WHEN OTHERS THEN
wf_core.CONTEXT('ZZ_PO_REQAPPROVAL_INIT1',
'xx_notif_attachments',
v_document_num,
p_request_id);
RAISE;
END xx_notif_attachments;
Please help me find a to the above mentioned error.
Thanks,
SuvigyaThere are two ways to look at what error the PLSQLBLOB API is throwing.
1) Call your PLSQLBLOB API GNE_PO_CREATE_FILE_ATTACHMENT.Gne_Create_File_Attachment directly from a PLSQL block and verify that it returns the BLOB data successfully.
You could also call another WF API that in turn executes the PLSQLBLOB API internally. For example,
<pre>
declare
l_document blob;
l_doctype varchar2(240);
l_aname varchar2(90);
begin
dbms_lob.CreateTemporary(l_document, true, dbms_lob.Session);
-- 207046 - This is the notification id of your failed workflow
-- PO_REPORT - Document type attribute
-- 'text/html' - Content Type being generated for
Wf_Notification.GetAttrBLOB(207046, 'PO_REPORT', 'text/html', l_document, l_doctype, l_aname);
-- Print the size of the document here to verify it was fetched correctly
end;
</pre>
2) Turn on log for SYSADMIN user with following attributes.
Log Enabled = TRUE
Log Level = ERROR
Log Module = wf.plsql%
Restart the Workflow Deferred Agent Listener and Workflow Notification Deferred Agent Listener and run your workflow process. Search for log messages written for above context and you can identify the error at wf.plsql.WF_XML.GetAttachment module with message starting as "Error when getting BLOB attachment ->"
Hope this helps.
Vijay -
BI Publisher Charts not getting displayed in concurrent program output
Hi,
I am using BI Publisher version 11.1.1.3.0 on Windows 7 with word 2007. After creating the Bar chart in RTF template of BI publisher when I load sample XML data and check it in "Preview" is displays the output correctly.
My requirement is to print the charts in concurrent program's output on EBS version 12.1.1. (preferably HTML but PDF will also do) However when I run the concurrent program which processes the data definition and the RTF template registered for this report, the output is just an image of the chart. The XML output generated by the program is not reflected in the chart display at all. (I have verified that XML is generated properly)
Can someone please let me know if there is some setup required to make the charts display properly in concurrent program output?
I have also tried BI publisher version 10.1.3.2.1 for this. With this the concurrent program output is just blank. Not even an image is displayed.
p.s. The program uses standard executable XDODTEXE (which is normally used to run BI publisher reports)
Thanks,
ArchanaHi,
I have finally found solution to this issue....
Two setups are required to display the charts in the concurrent program's PDF output:
1. We need to edit the variables CLASSPATH and AF_CLASSPATH. These variables should have the complete path added for the xdoparser.zip file on the server.
2. The DISPLAY variable should be correctly setup to direct the server output.
Also as per my findings so far, the BI (XML) publisher version 11.1.1.3.0 (or any 11g) does not work with EBS (at least for charts). We need to use BI publisher version which is XML 5.6.3 compatible for EBS. This version is 10.1.3.2.1. (patch 12395372) Now this 10g version does not work on Windows 7 so you need to use Windows XP!
With this... finally... your charts should be getting displayed in EBS output...
Cheers!! :-)
Archana -
Current Concurrent Program Output permissions
Hi,
I am working on Oracle Applications 11.5.10
Is it possible to send the concurrent program output of the current running program as a mail ? Or does the output file become available for reading once the whole program completes ?
I am writing the errors encountered during the current program into the output file for the current program. At the end of the program, I am calling a shell script to send the output file in mail. However I am getting an error message saying file not found or no permission on file. So wanted to know if I am doing the right thing. Or should I call the mail notification only once the whole program completes.
I tried to search the forum, but no where its mentioned if anyone is trying to access output file of currently running program. It will be great if someone can share their knowledge.
Thanks,
SouHi;
Please check thread
Concurrent Request Output with e-mail
Re: concurrent ouput to email
Regard
Helios -
How to send concurrent program output file as an attachment in the notification mail
Hi All,
We are on Oracle apps version - 11.5.10.2
We have a requirement wherein we need to send the concurrent program output file as an attachment while sending the notification mail to the user.
Currently we have tried the approach wherein we are specifying the user id in the OPTIONS tab (Notifying the following people) while submitting the concurrent program.
But using this approach, the user gets only the URL of the output file in the notification mail and not the output file as an attachment.
Kindly let us know if anyone has incorporated the logic to send the output file as attachment in the notification mail.
Please Note - We do not want any custom code to be written to send the attachment.
Any pointers to this will be helpful.
Regards,
ShrutiHi All,
We are on Oracle apps version - 11.5.10.2
We have a requirement wherein we need to send the concurrent program output file as an attachment while sending the notification mail to the user.
Currently we have tried the approach wherein we are specifying the user id in the OPTIONS tab (Notifying the following people) while submitting the concurrent program.
But using this approach, the user gets only the URL of the output file in the notification mail and not the output file as an attachment.
Kindly let us know if anyone has incorporated the logic to send the output file as attachment in the notification mail.
Please Note - We do not want any custom code to be written to send the attachment.
Any pointers to this will be helpful.
Regards,
Shruti -
Problem: program outputs numbers in scientific notation
my problem is that my program outputs the population in scientific notation instead of round the number to the nearest one. ex: it should say 30787949.57 instead of 3.078794957 E7
// Calculates the poulation of Mexico City from 1995 to 2018.
// displays the year and population
class PopulationCalculator {
static double r2(double x) {
//this method rounds a double value to two decimal places.
double z=((double)(Math.round(x*100)))/100;
return z;
} //end method r2
public static void main(String args[]) {
double population=15600000.0;
double rate=0.03;
System.out.println("Mexico City Population, rate="+r2(rate));
System.out.println("Year Population");
for (int year=1995; year<=2018;year++) {
System.out.println(year+ " "+r2(population));
population+=rate*population;
}//end for loop
System.out.println("The population of Mexico City reaches 30 million on 02/13/17 at 5:38:34am");
}//end main
}//end PopulationCalculator
{code/]
Or upgrade to JDK 5.0 and user the new java.util.Formatter capability.
You control the rounding and get localization of the fomatted string at
no extra charge. A quick example:
class A {
public static void main(String[] args) {
double d = 30787949.57d;
System.out.println(java.lang.String.format("%,17.2f", d));
}Example output for three different locales:
$ javac -g A.java
$ LC_ALL=fr_FR java A
30 787 949,57
$ LC_ALL=en_NZ java A
30,787,949.57
$ LC_ALL=it_IT java A
30.787.949,57For more information, refer to:
http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html#formatter
Or upgrade to JDK 5.0 and user the new java.util.Formatter capability.
You control the rounding and get localization of the fomatted string at
no extra charge. A quick example:
class A {
public static void main(String[] args) {
double d = 30787949.57d;
System.out.println(java.lang.String.format("%,17.2f", d));
}Example output for three different locales:
$ javac -g A.java
$ LC_ALL=fr_FR java A
30 787 949,57
$ LC_ALL=en_NZ java A
30,787,949.57
$ LC_ALL=it_IT java A
30.787.949,57For more information, refer to:
http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html#formatter
Standard driver programs,output type ,scripts,smartforms for SD reports
hi experts,
Can any one list all the standard driver programs,output types ,scripts,smartforms for SD reports.
mani
Hi,
Check this out
NACE
You can track the form and the print program used for that form
The Tcode NACE is used to link the Standard SAP forms (SCRIPTFORM or SMARTFORM) or the customized form or the new form to its respective print programs. Also the output types, Form entry are linked with their forms and print programs. In short term, i can tell u that configuration or customization of forms to print programs, assigning output types, form entry to the forms are done using this Tcode.
NACE is used to create output type while creating the output type you will mention forms, and driver program.
that will be maintained in the table TNAPR.if you create the output type using NACE then it will be automatically visible in table NAST and TNAPR.
so check in NAST, TNAPR table
http://help.sap.com/saphelp_erp2005/helpdata/en/c8/1989fe43b111d1896f0000e8322d00/frameset.htm
Condition records in NACE?
and
NACE is used for message control customizing.
Take a look at the following link
http://help.sap.com/saphelp_nw04/helpdata/en/c8/198a1843b111d1896f0000e8322d00/frameset.htm
and also
NACE is used for message control customizing.
Take a look at the following link
http://help.sap.com/saphelp_nw04/helpdata/en/c8/198a1843b111d1896f0000e8322d00/frameset.htm
If it helps reward with points..
Format of program output?
Hi,
If I look at the output of my exercises I always get date and program name before the actual program result. For instance;
~/Documents/Program5.3/build/Debug michel$ ./Program5.3
2011-04-04 09:25:15.694 Program5.3[293:903] Table of Triangular Numbers
2011-04-04 09:25:15.696 Program5.3[293:903] n Sum from 1 to n
2011-04-04 09:25:15.696 Program5.3[293:903]
0 0
2011-04-04 09:25:15.696 Program5.3[293:903] 1 1
2011-04-04 09:25:15.697 Program5.3[293:903] 2 3
2011-04-04 09:25:15.697 Program5.3[293:903] 3 6
<------- this part ----------------------->
How can I remove the "this part" of my program output?
TIA,
Macamba
Use printf instead of NSLog.
Program output on mobile phone
Hi friends,
Iam working for CMM Level 5 company in ABAP and i have no idea about XI and MI.
My requirement is:
One program is running in background at 01:30 in the morning every day.
Requirement is that " i need to show the output of that program on mobile as an SMS in background".
Need to send that program output as SMS to a mobile numbers.
I know it is possible using MI and SAP-BASIS.
Can anyone have any idea on this type of requirement.
Good answers, max points.
Thanks,
Vamsykrishna.
hi friend,
first you have to configure your mobile with your sevice provider for this
step1 : type SUB (in caps) in your airtel mobile and send that to number 52600 (only for Tamilnadu users )
step2 : you will recive a confirmation message like "9894243935 @ serviceprovder. com"
step2 : give this in receiver list
step3 : the airtel provider checks for loop backing so please specify a valid sender id
*& Report ZEPM_PRODCUTIONVALUE_SMS
*&created by Mr vijaybabu
**modified for sending sms by E.peachimuthu
*&Requirement by Mr. murugesh Senior manager
REPORT ZEPM_PRODCUTIONVALUE_SMS NO STANDARD PAGE HEADING LINE-SIZE 172..
TABLES: MSEG , MKPF , QAMB , MAKT , MBEW , MARA , T001L , MVKE, ZSD_MOD,SPELL,
MARD.
SELECT-OPTIONS : SO_WERKS FOR MSEG-WERKS OBLIGATORY ,
SO_VKORG FOR MVKE-VKORG OBLIGATORY DEFAULT '1000' ,
SO_BUDAT FOR MKPF-BUDAT OBLIGATORY ,
SO_MATNR FOR MSEG-MATNR ,
SO_FROM FOR MSEG-LGORT ,
P_TO FOR MSEG-LGORT OBLIGATORY.
*parameter : p_to like mseg-lgort obligatory.
*****MAIL/SMS DECLARATIONS ********
data : plant(35) type c,
storage_loaction(35) type c,
Sale_organisation(35) type c,
ltext(105) type c,
text(15) type c.
DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS 2 WITH HEADER LINE.
DATA: OBJHEAD LIKE SOLISTI1 OCCURS 1 WITH HEADER LINE.
DATA: OBJBIN LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
DATA: OBJTXT LIKE SOLISTI1 OCCURS 10 WITH HEADER LINE.
DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE,
ld_sender_address LIKE soextreci1-receiver,
ld_sender_address_type LIKE soextreci1-adr_typ.
DATA: DOC_CHNG LIKE SODOCCHGI1.
DATA: TAB_LINES LIKE SY-TABIX,
w_sent_all(1) type c.
DATA L_NUM(3).
DATA : SUB(80) TYPE C.
data p_sender likE somlreci1-receiver.
*******ENDMAIL******
DATA: RET_RATE LIKE KONP-KBETR.
DATA: CHANNEL LIKE TVTWT-VTWEG.
DATA: BEGIN OF ABS OCCURS 0,
WERKS LIKE MSEG-WERKS ,
LOC LIKE MSEG-LGORT ,
VALUE TYPE P DECIMALS 2,
END OF ABS.
DATA: WS_LOT LIKE QAMB-PRUEFLOS.
DATA: SL TYPE P DECIMALS 0.
DATA: WS_RATE LIKE MBEW-VERPR.
DATA: WS_VALUE TYPE P DECIMALS 2.
DATA: WS_CHANNEL(02) TYPE C.
DATA: WA_VKORG LIKE MVKE-VKORG.
data: wa_bwkey like mbew-bwkey.
DATA: T_VALUE TYPE P DECIMALS 2.
DATA: MOD_DATE(6) TYPE N.
DATA: BEGIN OF ITAB OCCURS 0,
MBLNR LIKE MSEG-MBLNR ,
MJAHR LIKE MSEG-MJAHR ,
ZEILE LIKE MSEG-ZEILE ,
MATNR LIKE MSEG-MATNR ,
BUDAT LIKE MKPF-BUDAT ,
BWART LIKE MSEG-BWART ,
WERKS LIKE MSEG-WERKS ,
MENGE LIKE MSEG-MENGE ,
LOC LIKE MSEG-LGORT ,
END OF ITAB.
INITIALIZATION.
P_TO-SIGN = 'I'.
P_TO-OPTION = 'EQ'.
P_TO-LOW = '1200'.
APPEND P_TO.
P_TO-LOW = '3200'.
APPEND P_TO.
P_TO-LOW = '4200'.
APPEND P_TO.
SO_WERKS-SIGN = 'I'.
SO_WERKS-OPTION = 'EQ'.
SO_WERKS-LOW = '1000'.
APPEND SO_WERKS.
SO_WERKS-LOW = '3000'.
APPEND SO_WERKS.
SO_WERKS-LOW = '4000'.
APPEND SO_WERKS.
SO_BUDAT-SIGN = 'I'.
SO_BUDAT-OPTION = 'EQ'.
SO_BUDAT-LOW = SY-DATUM.
SO_BUDAT-HIGH = SY-DATUM.
APPEND SO_BUDAT.
START-OF-SELECTION.
SELECT MSEGMBLNR MSEGMJAHR
MSEGZEILE MSEGMATNR MKPF~BUDAT
MSEGBWART MSEGWERKS MSEG~MENGE
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM MKPF INNER JOIN MSEG
ON MKPFMBLNR = MSEGMBLNR
AND MKPFMJAHR = MSEGMJAHR
AND MKPFMANDT = MSEGMANDT
WHERE BUDAT IN SO_BUDAT
AND MATNR IN SO_MATNR
AND WERKS IN SO_WERKS
AND BWART = '321'
AND UMLGO IN P_TO. " FIELD NAME CHANGED FROM LGORT TO UMLGO WEF 03-01-08 01:00pm SRINI / G.RAJENDRAN
*{ DELETE D01K903932 1
*\ AND XAUTO = 'X' "INSERTED ON 17-12-2007 BY ARUN / SRINIVASAN
*} DELETE
AND LGORT IN P_TO.
PERFORM HEADER.
SL = 0.
LOOP AT ITAB.
WS_LOT = 0.
SELECT SINGLE PRUEFLOS INTO (WS_LOT) FROM QAMB
WHERE MBLNR EQ ITAB-MBLNR AND
MJAHR EQ ITAB-MJAHR AND
ZEILE EQ ITAB-ZEILE AND
TYP = '3'.
IF SY-SUBRC NE 0.
DELETE ITAB .
CONTINUE. ENDIF.
SELECT SINGLE * FROM QAMB
WHERE PRUEFLOS EQ WS_LOT AND
TYP = '1'.
IF SY-SUBRC NE 0.
DELETE ITAB .
CONTINUE. ENDIF.
SELECT SINGLE * FROM MSEG
WHERE MBLNR EQ QAMB-MBLNR AND
MJAHR EQ QAMB-MJAHR AND
ZEILE EQ QAMB-ZEILE AND
WERKS IN SO_WERKS AND
LGORT IN SO_FROM.
IF SY-SUBRC NE 0.
DELETE ITAB .
CONTINUE. ENDIF.
MOVE MSEG-LGORT TO ITAB-LOC.
MODIFY ITAB.
ENDLOOP.
SORT ITAB BY LOC MATNR BUDAT MBLNR MJAHR.
T_VALUE = 0.
LOOP AT ITAB.
SELECT SINGLE * FROM MARA WHERE MATNR EQ ITAB-MATNR.
IF SY-SUBRC NE 0. DELETE ITAB. CONTINUE. ENDIF.
SELECT SINGLE * FROM MAKT WHERE MATNR EQ ITAB-MATNR.
IF SY-SUBRC NE 0. DELETE ITAB .CONTINUE. ENDIF.
*===========================================================
In Material master accounting rate fetch organization
check added on 06.05.2004 as per instruction by Mr.Ariyanayagam.
if itab-werks = '2000'.
clear: wa_bwkey.
wa_bwkey = '2000'.
SELECT SINGLE * FROM MBEW WHERE MATNR EQ ITAB-MATNR and
bwkey = wa_bwkey.
IF SY-SUBRC NE 0. DELETE ITAB . CONTINUE. ENDIF.
else.
SELECT SINGLE * FROM MBEW WHERE MATNR EQ ITAB-MATNR.
IF SY-SUBRC NE 0. DELETE ITAB . CONTINUE. ENDIF.
endif.
Rate fetch org check ends.
*=================================================================
SELECT SINGLE * FROM MARD WHERE MATNR EQ ITAB-MATNR AND
LGORT EQ '1200'.
IF SY-SUBRC NE 0. MARD-LGPBE = SPACE. ENDIF.
Defence Auto components Added on 19/02/2002
*============================================
IF ITAB-LOC = '1200'. DELETE ITAB. CONTINUE. ENDIF.
IF ITAB-LOC = '1042' AND MARA-MATKL NE 'AUTDEF'.
PERFORM MODULE_FETCH.
DELETE ITAB. CONTINUE.
ENDIF.
IF MARA-MATKL = 'AUTDEF'.
ITAB-LOC = '1042'.
MODIFY ITAB.
PERFORM MODULE_FETCH.
ENDIF.
IF ITAB-LOC = '1041'.
PERFORM MODULE_FETCH.
DELETE ITAB. CONTINUE.
ENDIF.
WS_RATE = 0.
IF MBEW-VPRSV = 'V'.
MOVE MBEW-VERPR TO WS_RATE.
ELSEIF MBEW-VPRSV = 'S'.
MOVE MBEW-STPRS TO WS_RATE.
ENDIF.
a.tamilselvi for correction vkorg for rate fetching.
if itab-werks = '1000' or itab-werks = '3000' or itab-werks = '4000' or itab-werks = '1004'.
wa_vkorg = '1000'.
else.
wa_vkorg = itab-werks.
endif.
*IF ITAB-WERKS = '2000'.
WA_VKORG = '2000'.
*elseif itab-werks = '5000'.
wa_vkorg = '5000'.
*elseif itab-werks = '6000'.
wa_vkorg = '6000'.
*ELSE.
WA_VKORG = '1000'.
*ENDIF.
FROM SALES DATA.
CALL FUNCTION 'ZSDF_GETPRDRATE'
EXPORTING
PM_MATNR = ITAB-MATNR
PM_VKORG = WA_VKORG
PM_DATE = ITAB-BUDAT
IMPORTING
CHANNEL = CHANNEL
RET_RATE = RET_RATE
EXCEPTIONS
OTHERS = 1.
IF RET_RATE > 0.
MOVE RET_RATE TO WS_RATE.
MOVE CHANNEL TO WS_CHANNEL.
ELSE.
MOVE ' ' TO WS_CHANNEL.
ENDIF.
IF WS_CHANNEL = '20' or ws_channel = '21' or ws_channel = '23'.
SELECT SINGLE * FROM MVKE WHERE MATNR EQ ITAB-MATNR AND
VTWEG in ('20','21','23').
IF MVKE-KONDM = '01'.
WS_RATE = WS_RATE - ( WS_RATE * '0.30' ) .
WS_RATE = WS_RATE * '0.9324'.
ELSEIF MVKE-KONDM = '02'.
WS_RATE = WS_RATE - ( WS_RATE * '0.4091' ).
WS_RATE = WS_RATE * '0.9324'.
ELSEIF MVKE-KONDM = '03'.
WS_RATE = WS_RATE - ( WS_RATE * '0.3637' ).
WS_RATE = WS_RATE * '0.9324'.
ELSEIF MVKE-KONDM = '04'.
WS_RATE = WS_RATE - ( WS_RATE * '0.20' ).
WS_RATE = WS_RATE * '0.9324'.
ENDIF.
ENDIF.
COMPUTE WS_VALUE = ITAB-MENGE * WS_RATE.
COMPUTE T_VALUE = T_VALUE + WS_VALUE.
SL = SL + 1.
if itab-loc = '1170' and mara-spart eq '60'.
perform mat_txt.
endif.
WRITE:/ '|' NO-GAP ,
(5) SL NO-GAP , '|' NO-GAP ,
ITAB-LOC NO-GAP , '|' NO-GAP ,
ITAB-MBLNR NO-GAP , '|' NO-GAP ,
ITAB-MJAHR NO-GAP , '|' NO-GAP ,
ITAB-ZEILE NO-GAP , '|' NO-GAP ,
ITAB-BUDAT NO-GAP , '|' NO-GAP ,
ITAB-MATNR NO-GAP , '|' NO-GAP ,
(15)MARA-BISMT NO-GAP , '|' NO-GAP ,
(30)MAKT-MAKTG NO-GAP , '|' NO-GAP ,
(12)ITAB-MENGE NO-GAP , '|' NO-GAP ,
(10)WS_RATE NO-GAP , '|' NO-GAP ,
(15)WS_VALUE NO-GAP , '|' NO-GAP,
*{ INSERT D01K903779 1
(02) mara-spart no-gap, '|' no-gap,
*} INSERT
(02)WS_CHANNEL NO-GAP , '|' NO-GAP,
(10)MARD-LGPBE
READ TABLE ABS WITH KEY WERKS = ITAB-WERKS
LOC = ITAB-LOC.
IF SY-SUBRC EQ 0.
ADD WS_VALUE TO ABS-VALUE.
MODIFY ABS INDEX SY-TABIX.
ELSE.
MOVE ITAB-LOC TO ABS-LOC.
MOVE ITAB-WERKS TO ABS-WERKS.
MOVE WS_VALUE TO ABS-VALUE.
APPEND ABS.
ENDIF.
CLEAR ABS.
PERFORM MODULE_FETCH.
MOVE itab-budat+0(6) TO mod_date.
SELECT SINGLE * FROM zsd_mod WHERE matnr = itab-matnr AND
monyr = mod_date.
IF sy-subrc NE 0.
zsd_mod-matnr = itab-matnr.
zsd_mod-monyr = mod_date.
PERFORM module_update.
INSERT INTO zsd_mod VALUES zsd_mod.
COMMIT WORK.
ELSE.
PERFORM module_update.
MODIFY zsd_mod.
COMMIT WORK.
ENDIF.
ENDLOOP.
ULINE.
WRITE:/ 'Total value : ' , T_VALUE.
ULINE.
WRITE:/ , /.
WRITE:/ 'ABSTRACT' COLOR 3.
WRITE:/ SY-ULINE(46).
T_VALUE = 0.
SL = 0.
LOOP AT ABS.
SELECT SINGLE * FROM T001L WHERE WERKS EQ ABS-WERKS AND
LGORT EQ ABS-LOC.
IF SY-SUBRC NE 0. CLEAR T001L. ENDIF.
SL = SL + 1.
WRITE:/(5) SL NO-GAP , '|' NO-GAP ,
ABS-LOC NO-GAP , '|' NO-GAP ,
T001L-LGOBE NO-GAP , '|' NO-GAP ,
ABS-VALUE NO-GAP , '|' NO-GAP.
T_VALUE = T_VALUE + ABS-VALUE.
ENDLOOP.
WRITE:/ SY-ULINE(46).
WRITE:/ 'Total value : ' , T_VALUE.
WRITE:/ SY-ULINE(46).
perform send_sms.
FORM HEADER.
ULINE.
FORMAT COLOR 1 ON.
WRITE:/ '|' NO-GAP ,
(5) 'Slno' NO-GAP , '|' NO-GAP ,
'SLoc' NO-GAP , '|' NO-GAP ,
'Material Document ' , '|' NO-GAP ,
'Post.date ' NO-GAP , '|' NO-GAP ,
(18)'Material' NO-GAP , '|' NO-GAP ,
(15)'Old.code' NO-GAP , '|' NO-GAP ,
(30)'Description ' NO-GAP , '|' NO-GAP ,
(12)'Quantity' NO-GAP , '|' NO-GAP ,
(10)'Rate' NO-GAP , '|' NO-GAP ,
(15)'Value' NO-GAP , '|' NO-GAP,
*{ INSERT D01K903779 1
(02) 'Dv' no-gap, '|' no-gap,
*} INSERT
(02)'Ch' NO-GAP , '|' NO-GAP,
(11)'Storage Bin'
FORMAT COLOR 1 OFF.
ULINE.
ENDFORM.
*& Form MODULE_UPDATE
text
--> p1 text
<-- p2 text
FORM MODULE_UPDATE.
CLEAR : ZSD_MOD-DISPO.
IF ITAB-LOC = '1001'. MOVE '101' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1002'. MOVE '102' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1003'. MOVE '103' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1004'. MOVE '104' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1005'. MOVE '105' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1006'. MOVE '106' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1011'. MOVE '111' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1021'. MOVE '201' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1022'. MOVE '202' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1026'. MOVE '206' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1041'. MOVE '412' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1042'. MOVE '412' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1044'. MOVE '203' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1051'. MOVE '501' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1052'. MOVE '502' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1055'. MOVE '503' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1057'. MOVE '207' TO ZSD_MOD-DISPO. ENDIF.
W.e.f Apr.2004 1057 locked and 1028 activated for 207 module.
IF ITAB-LOC = '1028'. MOVE '207' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1071'. MOVE '701' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1072'. MOVE '702' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1073'. MOVE '703' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '1611'. MOVE '610' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '3012'. MOVE '601' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '3022'. MOVE '602' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '3032'. MOVE '603' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '3042'. MOVE '604' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '4052'. MOVE '605' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '3052'. MOVE '605' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '3062'. MOVE '606' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '4072'. MOVE '607' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '3072'. MOVE '607' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '4092'. MOVE '609' TO ZSD_MOD-DISPO. ENDIF.
IF ITAB-LOC = '3112'. MOVE '612' TO ZSD_MOD-DISPO. ENDIF.
W.e.f Jan.2005 activated for 611 module.
IF ITAB-LOC = '3612'. MOVE '611' TO ZSD_MOD-DISPO. ENDIF.
ENDFORM. " MODULE_UPDATE
*& Form MODULE_FETCH
text
--> p1 text
<-- p2 text
FORM MODULE_FETCH.
MOVE ITAB-BUDAT+0(6) TO MOD_DATE.
SELECT SINGLE * FROM ZSD_MOD WHERE MATNR = ITAB-MATNR AND
MONYR = MOD_DATE.
IF SY-SUBRC NE 0.
ZSD_MOD-MATNR = ITAB-MATNR.
ZSD_MOD-MONYR = MOD_DATE.
PERFORM MODULE_UPDATE.
IF NOT ZSD_MOD-DISPO IS INITIAL.
INSERT INTO ZSD_MOD VALUES ZSD_MOD.
COMMIT WORK.
ENDIF.
ELSE.
PERFORM MODULE_UPDATE.
IF NOT ZSD_MOD-DISPO IS INITIAL.
MODIFY ZSD_MOD.
COMMIT WORK.
ENDIF.
ENDIF.
ENDFORM. " MODULE_FETCH
*& Form mat_txt
text
--> p1 text
<-- p2 text
FORM mat_txt .
data: wa_bismt like mara-bismt.
data: wa_matnr like mara-matnr.
if mara-bismt+0(1) ne 'M'.
func to rev conver
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = itab-matnr
IMPORTING
OUTPUT = wa_matnr
concatenate 'M00000' wa_matnr into wa_bismt.
mara-bismt = wa_bismt.
clear: wa_bismt,wa_matnr.
endif.
ENDFORM. " mat_txt
*& Form send_sms
text
--> p1 text
<-- p2 text
FORM send_sms .
Creation of the document to be sent
File Name
DOC_CHNG-OBJ_NAME = 'SENDMAIL'.
Mail Subject
CONCATENATE 'PDN value' '' INTO SUB SEPARATED BY SPACE.
DOC_CHNG-OBJ_DESCR = SUB.
Mail Contents
CLEAR SUB.
*DATA : SPELL(100) TYPE C.
OBJTXT = SUB.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = t_value
CURRENCY = 'INR'
FILLER = ' '
LANGUAGE = SY-LANGU
IMPORTING
IN_WORDS = SPELL
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
text = t_value.
condense text.
if so_werks-high = space.
loop at so_werks.
if sy-tabix = 1.
concatenate 'plant:' so_werks-low into plant.
else.
concatenate plant so_werks-low into plant separated by ','.
endif.
endloop.
else.
concatenate 'plant:' so_werks-low '_To_' so_werks-high into plant.
endif.
concatenate plant ' __ ' 'Pdn val on :' SO_BUDAT-low6(2) '.' SO_BUDAT-low4(2) '.' SO_BUDAT-low+0(4)
into objtxt .
DATA : SPL(80) TYPE C.
*SPELL-WORD LOWER CASE
TRANSLATE SPELL-WORD TO LOWER CASE.
concatenate objtxt 'is Rs' text ':' SPELL-WORD 'Rupees only' into objtxt separated by ''.
*concatenate objtxt into objtxt separated by space.
append objtxt.
DESCRIBE TABLE OBJTXT LINES TAB_LINES.
READ TABLE OBJTXT INDEX TAB_LINES.
DOC_CHNG-DOC_SIZE = 20.
Creation of the entry for the compressed document
CLEAR OBJPACK-TRANSF_BIN.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM = 0.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM = TAB_LINES.
OBJPACK-DOC_TYPE = 'RAW'.
APPEND OBJPACK.
CLEAR RECLIST.
read table so_werks index 1.
if so_werks-low = '1000'.
endif.
RECLIST-RECEIVER = "recv id"
RECLIST-EXPRESS = 'X'.
RECLIST-REC_TYPE = 'U'.
APPEND RECLIST.
p_sender = " sender id "
ld_sender_address = p_sender.
ld_sender_address_type = 'INT'.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
DOCUMENT_DATA = DOC_CHNG
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
COMMIT_WORK = 'X'
TABLES
PACKING_LIST = OBJPACK
CONTENTS_TXT = OBJTXT
RECEIVERS = RECLIST
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SUBMIT RSCONN01 WITH MODE = 'INT'
WITH OUTPUT = ''
AND RETURN.
ENDFORM. " send_sms
Hi Friends,
i want program output into spool..
mean.. when i am executing the zprogram...the program output into spools..
regards,
Hi,
Create a Background job schedule it will runs in background automatically it will creates a spool.
To Create Background job schedule T-Code SM36
To Execute the Background job schedule T-code SM37
To see the spool T-code is SP01.
Thanks
Ganesh
Concurrent Program outputs gettting merged
Hi,
We are facing a strange issue in our EBS 11i instance where the output of one concurrent program is getting merged with another program output.(i.e output of financial concurrent programs get merged with HR/Payroll concurent program output and vice versa). This is not hapeening foe all the programs but only hapeens for few specific programs.
Has anyone faced this issue previously or can highlight the cause for this abnormal issue.
Regards,
Rupdipt
Is this a cloned instance? Have you reviewed the contents of the output files to verify none of those output files from the source instance?
If the above doesn't help then I would suggest logging a SR.
Thanks,
Hussein
Smartforms driver program output query
Hello friends,
I created sales invoice smartforms. For that i created one driver program in se38. But while i am executing driver program i am just getting program output. Both my smartforms design and driver program is activated. Someone please give me guidance to solve this problem.
Thanx & Regards,
Rahul Talele
Have you written this function module to specify the smartform name and execute the Smartform Function Module..
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZPP_PACKMATL_REQ' " smartform name
IMPORTING
FM_NAME = W_FORM_FUNCTION.
CALL FUNCTION W_FORM_FUNCTION
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
ITAB_DATA = ITAB_DATA
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " display_form
How to Email Concurrent Program Output to Email using Shell Script
Hi All,
Have a Nice Day,
I have a tricky requirement and i was not able to achieve, let me explain my requirement
I have created a PLSQL Concurrent Program named "Approval Update". This will do update and it display the number of rows updated.
Now i need to take this concurrent program output and it needs to be send it to the person who submits this program as an email using shell scripts.
I have referred meta link note as well as some OTN posts but I was not able to achieve this.
Please help me to complete this As soon as possible, Thanks in advance for your help.
Let me know if you need more clarifications.
Regards,
CSK
I don't have much idea in shell scripts all i want is, in my shell script i need to get the parent concurrent program output and that needs to be emailed to the intended person.
Please help to to get the shell script commands for this.I do not have any shell script to share, sorry! If you want the query to get the parent request_id so you can get the log/out file name/location from then please refer to:
REQUESTS.sql Script for Parent/Child Request IDs and Trace File IDs [ID 280295.1]
http://etrm.oracle.com/pls/et1211d9/etrm_pnav.show_object?c_name=FND_CONC_REQ_SUMMARY_V&c_owner=APPS&c_type=VIEW
http://etrm.oracle.com/pls/et1211d9/etrm_pnav.show_object?c_name=FND_CONCURRENT_REQUESTS&c_owner=APPLSYS&c_type=TABLE -- LOGFILE_NAME & OUTFILE_NAME
Thanks,
Hussein
I am in asupport prj.I am aware about the payment program and its functionalities and configuration.
I am am unaware of how the checks or other payment methods are transffered to outbound interface and their relevant functionality or configuration.Actually I am unable to follow in SAP the output of payment program.
It would be helpful if any document is available.
Hi
Please have a look at the thread
[Re: Issue in Payment run]
Let me know if you require any further info.
Thanks
Kalyan
How to get data from other programs output?
Hi gurus,
I have told to do the following can you please help me out.
In SM35 created many batch no. The user would like to know automatically when the session is not ok (error status).
In return of the first program RSBDCBTC_SUB we will get the queues ie QID and QSTATE.
I have told to create new Z-prog.
In that Z-prog how can i get list of QID from the result (Output) of the first prog(RSBDCBTC_SUB )?
How i get that particular QIDs in my Z-prog?
Thanks in advanced.
Hi
Senthis,
You can use IMPORT and EXPORT or SET and GET
IF you take the F1 help on these KEY words it will take you to the KEY word documentation where you can find an example
of Go to TCode ABAPDOCU
where you can find an example for the same
Regards
Ramchander Rao.K
How to send background program output to a printer
Hi !
I created a background report,running via a job in background. I need to display the output of the background report via two channels : a printer and an e
mail. I created the output of the report by using the command Write, and the output is printed to screen. However this solution is good for an online report and not for background report ? and my question is how to send the background report output to a printer in background .
Thanks
Moshe
Hi,
If you are using JOB_OPEN, JOB_SUBMIT & JOB_CLOSE to execute the program in background, then in the FM JOB_SUBMIT you have a parameter PRIPARAMS for which you need to pass a value.
Before that get all the Print Parameters using FM GET_PRINT_PARAMETERS. Then pass the same to PRIPARAMS.
This would solve the problem.
Best regards,
Prashant
Maybe you are looking for
-
Remote Control and MSI application Distribution
When I log into several machines remotely and NAL is launched, an MSI application set to "Force Run" will only work on the first PC I log into. If I login locally the application is distributed to all the machines without any problems. Does anyone kn
-
I am trying to piece together a maro that will initially resize an image and save it with a different suffix at different size increments. I found within the cs5 scripts folder the macro 'Fit Image.jsx' that would allow me to resize correctly but am
-
I just purchased a new 4G Touch and got it all set up with the data from my 3G and noticed right away that the volume for the clock alarm was about half as loud as the 3G. I remember hearing of issues with the alarm due to the setting for the new yea
-
TS3989 photos not appearing in my photo stream
Why are photos I have recently taken not showing up in my photo stream? I have checked to make sure photo stream is turned on and that didn't fix anything.
-
Oracle 9i R2 EE XP Professional Listener Problem
One embarrased Oracle DBA. I've successfully installed Oracle on so many windows platforms that I've lost track. The specs: Dell Inspiron 5100 Windows XP Professional 2002 SP 1 2.66 GHz P4 CPU 512 MB RAM 1 GB Pagefile (swap) Macafee Virus Protection